if (guess==num){
System.out.println("You Win!");
System.out.println("Play Again?? Y/N");
String play=scan.nextLine();
if(play.equalsIgnoreCase("y")){
Game();
}
if(play.equalsIgnoreCase("n")){
System.exit(1);
} else {
invalid(); //when playing again, it says you entered an invalid choice which i do not want.
play=scan.nextLine();
if(play.equalsIgnoreCase("y")){
Game();
}
}
}
输出是:
.............................................
14
你赢了!
再玩一次? Y / N
您输入的选项无效,请重新输入Y / N<< =====问题在这里 .................................................. ...............
我想要的是来自用户的响应再次播放的输入?问题,但我不明白导致我打印出来的代码的哪一部分你输入了无效的选择,有人可以帮忙吗?我遗憾地看不出这个问题。我仍然需要无效的方法,因为我想告诉用户他们输入y / n问题的无效答案。
答案 0 :(得分:5)
选择“是”后,您的代码仍然可以输入无效部分。您需要使用 else if 语句
if(play.equalsIgnoreCase("y")){
Game();
}
else if(play.equalsIgnoreCase("n")){
System.exit(1);
}
else{
//...
}
您是否正在使用带调试的编程环境?使用原始代码,我建议在System.out.println("You Win!");
行设置断点,然后逐行查看代码所需的路径。这将帮助您了解自己正在发生的事情。
即使没有调试,您也可以添加更多System.out
语句,以便更好地了解您的程序流程。
String play=scan.nextLine();
System.out.println("My inputted value was " + play);
if(play.equalsIgnoreCase("y")){
System.out.println("Beginning new game...");
Game();
}
if(play.equalsIgnoreCase("n")){
System.out.println("Exiting game...");
System.exit(1);
}
else{
答案 1 :(得分:3)
if(play.equalsIgnoreCase("y")){
Game();
}
即使用户按Y,也会转到下一个if / else
if(play.equalsIgnoreCase("n")){
System.exit(1);
} else {
invalid(); //when playing again, it says you entered an invalid choice which i do not want.
play=scan.nextLine();
if(play.equalsIgnoreCase("y")){
Game();
}
}
}
因为游戏是Y,所以它正在调用
invalid();