我正在用Java做一个非常简单的“猜谜游戏”。在游戏结束时,我会问用户他/她是否想要再次玩我的游戏,如下所示:
System.out.println("Would you like to play again? (Type 'yes' or 'no' into the field)");
Scanner scanner2 = new Scanner(System.in);
String again = scanner2.nextLine();
if (again=="yes") {
local = false;
loopAgain = true;
}
else if (again=="no") {
loopAgain = false;
local = false;
}
else {
System.out.println("Invalid input. Please type 'yes' or 'no' into the field.");
local = true;
}
理论上,如果我在控制台中输入“yes”,那么if语句应该执行,将变量loopAgain
设置为true,这会在我的代码中激活while语句。另一个变量local
也引用了之前的while语句。
但是,当我在控制台中键入“yes”(或“no”)时,我会收到无效的输入消息。我知道变量again
是一个字符串,因为我暗示它应该等于“是”,所以我很困惑为什么第一个if语句没有执行,因为它应该。这可能是非常简单的事情,但这是我第一次使用Java编程,所以如果我错过了一些非常明显的东西,我会道歉!!
非常感谢任何帮助。