每次调用getIndex时,MyClass的静态方法都会打印"索引:1"向屏幕。我想增加或减少指数的价值。我的代码出了什么问题?
public class MyClass
{
public static int index=0;
public static void getIndex()
{
index++;
System.out.println("Index:"+index);
if(index>10)
index=0;
}
}
答案 0 :(得分:2)
当我添加代码来调用您的示例时,它可以按预期工作:
public class MyClass
{
public static int index=0;
public static void getIndex()
{
index++;
System.out.println("Index:"+index);
if(index>10)
index=0;
}
public static void main(String[] args) {
for (int i = 0; i < 12; i++) {
getIndex();
}
}
}
打印:
Index:1
Index:2
Index:3
Index:4
Index:5
Index:6
Index:7
Index:8
Index:9
Index:10
Index:11
Index:1
到控制台。所以你怎么称呼这个问题一定是个问题。
答案 1 :(得分:1)
猜测:你只在程序中调用getIndex()
一次,然后多次运行该程序。那不行;在程序的实例中不保留变量值。每次启动程序时,index
都会重置为0.在程序的一次运行中多次调用getIndex()
,您将看到它按预期递增。