Dan*_*pel 2 java loops while-loop do-while
这段代码是我正在制作的二十一点游戏的片段.无论我输入什么,程序永远不会打破循环.
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);
Run Code Online (Sandbox Code Playgroud)
通常会发生什么:http: //puu.sh/87KZk.png
任何帮助,将不胜感激.谢谢!
您正在使用==比较字符串.在Java中,我们比较字符串.equals().
你可以这样做:
boolean bool = true;
do {
Scanner kb = new Scanner(System.in);
String choice = kb.next();
if(choice.equals("Hit") || choice.equals("hit")) {
String action = "hit";
bool = false;
} else if(choice.equals("Stay") || choice.equals("stay")) {
String action = "stay";
bool = false;
} else {
System.out.println("Do not recognize response. Retry.");
}
} while (bool == true);
Run Code Online (Sandbox Code Playgroud)
为清晰起见,我还格式化了代码的某些部分.如下面的注释所示,您还可以使用equalsIgnoreCase比较字符串而不管其大小写.
希望这可以帮助!