如何发生此错误

时间:2012-05-15 10:21:16

标签: java class

大家好我有以下代码生成错误原因。如果有任何需要请建议我。

public class Class {
    public static void main(String args[]) {
        public int i = 10;
        i = i++;
        System.out.println("Value of i=" + i);
    }
}

7 个答案:

答案 0 :(得分:3)

因为您无法在局部变量上指定访问说明符

public int i = 10;

制作

int i = 10;

同样为assylias commented,如果您执行i = i++;

,则不会对作业产生任何影响

答案 1 :(得分:1)

您正在为局部变量使用可见性修饰符public。这是不允许的(并且毫无意义),因为局部变量的范围始终局限于该方法中。

以下代码:

public class Class {
    public static void main(String args[]) {
        int i = 10;
        i = i++;
        System.out.println("Value of i=" + i);
    }
}

...没有问题。

请注意,您还可以将方法外的i移动到字段,这也可以起作用:

public class Class {

    public int i = 10;

    public static void main(String args[]) {
        i = i++;
        System.out.println("Value of i=" + i);
    }
}

请注意i = i++也可能导致问题与您期望的不同,但如果没有更全面的解释,很难说。您可能只想在该行上i++

答案 2 :(得分:1)

'i'是一个局部变量。它不能是公共/私人/受保护的。 你可以把它标记为最终版。

答案 3 :(得分:0)

你应该只将i定义为“int i = 10”而不是“public int”,因为它不是类变量

答案 4 :(得分:0)

错误是public无法应用于局部变量。变化:

public int i = 10;

int i = 10;

答案 5 :(得分:0)

imain方法的局部变量。局部变量没有范围public, private, protected。只有现场成员可以拥有它们。因此,请删除public变量前面的i修饰符。

答案 6 :(得分:0)

public int i = 10; // 这将填充错误

您无法使用public or private

等范围声明局部变量

将其更改为int i=10;它会起作用。

由于