以下是我的Java代码。如果用户输入的数字不等于1
,则将再次调用方法getInput()
。Java计数器无法正常工作
public void getInput(){
int i=0;
while(i<=4){
result[i] = Integer.parseInt(JOptionPane.showInputDialog("Enter Result (1 = pass, 2 = fail)"));
int res = result[i];
if(res!=1){
JOptionPane.showMessageDialog(null,"Wrong input, please try again!");
System.out.println("Wrong Input:" + res);
getInput();
}
System.out.println("count:"+i);
i=i+1;
}
}
下面是结果由代码产生
- 计数:0 < - 启动从计数0
- 数:1
- 错误输入:2 < - 输入错误输入和呼叫再次使用方法
getInput()
。 - 计数:0 < - 启动从计数0
- 数:1
- 计数:2
- 计数:3
- 计数:4
- 计数:2 < - 再次从2 启动
- 计数:3
- 计数:4
问题是计数器无法正常工作。有人可以帮助我解决这个问题,为什么会发生这种情况?
数:0 输入错误: 数:0 数:1 数:2 数:3 计数:4 count:0 count:1 count:2 count:3 count:4 - 这是我在实现上述代码时得到的结果。 while循环运行两次。 – 2013-04-11 10:31:09
您是否在if条件中删除了'getInput()'调用?它看起来像你还在递归到你的方法。 – Pyranja 2013-04-11 10:35:09
谢谢Prynja!删除递归调用修复了这个问题。 :) – 2013-04-11 10:49:33