java中Do/While循环的问题
这段代码是我正在制作的21点游戏的一个片段。无论我输入什么,程序都不会跳出循环
boolean bool = true;
do{
Scanner kb = new Scanner(System.in);
String choice = kb.next();
if(choice == "Hit" || choice == "hit") {
String action = "hit";
bool = false;
} else if(choice == "Stay" || choice == "stay") {
String action = "stay";
bool = false;
} else {
System.out.println("Do not recognize response. Retry.");
}
} while (bool == true);
通常发生的情况: http://puu.sh/87KZk.png
任何帮助都将不胜感激。谢谢
# 1 楼答案
您正在将字符串与==进行比较。在Java中,我们将字符串与
.equals()
进行比较您可以这样做:
为了清晰起见,我还对代码的某些部分进行了格式化。 正如下面的注释所建议的,您也可以使用
equalsIgnoreCase
来比较字符串,而不管它们的大小写如何希望这有帮助