最终标识符是必要的,为什么?

时间:2015-03-28 14:38:02

标签: java

我尝试编写一个convert string to integer的程序。 但在定义方法时,它会在identifier中出错,并告诉它应该是final "参数stringtoInteger的非法修饰符;只允许决赛#34;
有谁知道为什么它应该final

public class StringtoInt {
    public static void main(String[] args) {
        public static void stringtoInteger(){

            int i = 24;
            String str = Integer.toString(i);

            int j = 23;
            String str2 = "" + j;

            int k = 22;
            String str3 = " " + k;

            System.out.println(str + "\t" + str2 + "\t" + str3);
            System.out.println(str + str2 + str3);

            System.out.println();

            System.out.println(i + "\t" + j + "\t" + k);
            System.out.println(i  + j  + k);
        }   

    }
}

2 个答案:

答案 0 :(得分:2)

你不应该把方法放在主方法中。

删除public static void stringtoInteger(){方法声明,并将代码直接放在main中:

public class StringtoInt {
    public static void main(String[] args) {

        int i = 24;
        String str = Integer.toString(i);
        ...

或将stringtoInteger移到main之外(如果您希望执行,则从main调用它)

public class StringtoInt {
    public static void main(String[] args) {
        stringtoInteger();
    }

    public static void stringtoInteger() {

        int i = 24;
        String str = Integer.toString(i);

        ...
    }
}

答案 1 :(得分:0)

使用此代码:

public class StringtoInt {
    public static void main(String[] args) {
        StringtoInt.stringtoInteger();
    }

    public static void stringtoInteger() {
        int i = 24;
        String str = Integer.toString(i);

        int j = 23;
        String str2 = "" + j;

        int k = 22;
        String str3 = " " + k;

        System.out.println(str + "\t" + str2 + "\t" + str3);
        System.out.println(str + str2 + str3);
        System.out.println(i + "\t" + j "\t" + k);
        System.out.println(i + j + k);
    }
}