我在做一个简单的剪刀石头布程序。由于某种原因,即使用户输入了正确的条件之一,这个while循环也会继续循环。有人能解释一下为什么会这样吗?
public static String userChoice(){
String userChoice = "";
while(userChoice != "rock" && userChoice != "paper" && userChoice != "scissors"){
userChoice = JOptionPane.showInputDialog("Rock, Paper, or Scissors?");
JOptionPane.showMessageDialog(null, "Invalid input!");
}
return userChoice;
}
您不能将String
与标准比较器进行比较,您需要使用someString.equalsIgnoreCase(someOtherString)
编辑:您可以在某些(罕见的)情况下使用标准比较器,但这不是其中之一。