以下是我的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