好了,这里是我的代码:循环'忽略'输入?
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