大家好我有以下代码生成错误原因。如果有任何需要请建议我。
public class Class {
public static void main(String args[]) {
public int i = 10;
i = i++;
System.out.println("Value of i=" + i);
}
}
答案 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)
i
是main
方法的局部变量。局部变量没有范围public, private, protected
。只有现场成员可以拥有它们。因此,请删除public
变量前面的i
修饰符。
答案 6 :(得分:0)
public int i = 10; // 这将填充错误
您无法使用public or private
将其更改为int i=10;
它会起作用。
由于