好了,這裏是我的代碼:循環'忽略'輸入?
public static void playAgain(Scanner in){
System.out.print("Play again?: ");
String again=in.next();
if (again.equalsIgnoreCase("y")){
playerScore=0;
aiScore=0;
playAgain=true;
}
else if (again.equalsIgnoreCase("n")){
playAgain=false;
}
else {
while (!again.equalsIgnoreCase("y") && !again.equalsIgnoreCase("n")){
System.out.print("Invalid response. Please enter \"y\" or \"n\": ");
again=in.next();
}
}
}
出於某種原因,如果我輸入了錯誤的變量,說「布格」,while循環打印錯誤信息,但由於某種原因,默認爲「Y」,甚至如果我輸入'n' - 例如,樣品運行將是:
再次播放? boog
輸入無效,請輸入y或n。 ñ
-program儘管我輸入正
我該如何解決這個問題再次扮演?這與訂單有關嗎?提前致謝!
你的代碼說'無效response',但屏幕的協議說,'無效input'這並不匹配。 。除此之外,我會直接使用'return playAgain'方法,而不是將它保存到一個字段變量中。一個類中的字段越少,就越容易理解。 –
如果你想要一個替代方法,我編輯了我的答案 – AusCBloke