我正在做一個任務的程序,我必須讓用戶猜測3個鎖的數字來解鎖它。如果他們不能在3場比賽中完成比賽。很簡單,就我所知,我做得很對,所以不知道我要去哪裏錯。這裏是代碼段:猜測環卡滯Java
do{
try{
String g1Str = JOptionPane.showInputDialog("Enter number 1:");
g1 = Integer.parseInt(g1Str);
looper = 2;
}
catch(NumberFormatException e){
JOptionPane.showMessageDialog(null,"Not a Number");
looper = 1;
}
if(g1!=num1){
JOptionPane.showMessageDialog(null, "Incorrect guess, try again");
lives = lives - 1;
looper = 1;
}
else if(g1==num1){
JOptionPane.showMessageDialog(null, "Correct!");
looper = 2;
}
}while(looper==1||lives!=0);
這是我的想法:要求用戶輸入數字,嘗試將字符串轉換爲整數。我使用try catch來確保用戶確實輸入了一個數字而不是一個字母。之後,我看到猜測是否等於實數。如果沒有,你會放棄生命(早些時候宣佈生命爲3),然後將looper設置爲1,這樣你就可以嘗試再次猜測自己是否有足夠的生命。如果它的權利,活套被設置爲2,並且循環被打破,此時用戶可以猜測第二個數字。我只希望循環保持活躍狀態,只要你有足夠的生命,所以我將「while」語句設置爲當looper爲1時,或者當生命不等於0時。但是,如果不打破循環if生活下去0。在此先感謝
@DoanCuong爲什麼這是一個更好的解決方案? – Pete
對不起,我沒有,雖然它通過 –
好吧,我現在看到什麼是錯誤的,我是在假設或者意味着,如果他們中的任何一個是錯誤的會打破。現在修復了,我在其他循環的開頭添加了「if(lives == 0){looper = 2}」。謝謝 – Dave555