【发布时间】:2021-03-11 11:41:12
【问题描述】:
我正在尝试编写一个简单的游戏,您可以在其中选择继续或最后退出。我写了这段代码,现在我陷入了一个循环。任何建议将不胜感激。谢谢!
System.out.println("Would you like to play again? Yes or No?");
yesOrNo=input.next();
while (!yesOrNo.equalsIgnoreCase("yes") || !yesOrNo.equalsIgnoreCase("no")) {
System.out.println("That is not a valid response. Please enter yes or no.");
yesOrNo = input.next();
}
if (yesOrNo.equalsIgnoreCase("Yes")){
continueGame=true;
} else{
continueGame=false;
}
【问题讨论】:
-
查看循环条件。他们现在的方式,无论输入是什么,您都将进入循环。只有当输入不是“yes”并且输入不是“no”时才想输入它。
-
!yesOrNo.equalsIgnoreCase("yes") || !yesOrNo.equalsIgnoreCase("no")yesOrNo 的值,这会导致这种情况变成false,你的错误应该会变得很明显 -
!yesOrNo.equalsIgnoreCase("yes") && !yesOrNo.equalsIgnoreCase("no")