Java 陷入了一个while循环,试图让用户输入某些单词?
我正在制作一个简单的石头、布、剪刀程序。由于某些原因,即使用户输入了正确的术语之一,该while循环也会继续循环。有人能解释为什么会这样吗Java 陷入了一个while循环,试图让用户输入某些单词?,java,Java,我正在制作一个简单的石头、布、剪刀程序。由于某些原因,即使用户输入了正确的术语之一,该while循环也会继续循环。有人能解释为什么会这样吗 public static String userChoice(){ String userChoice = ""; while(userChoice != "rock" && userChoice != "paper" && userChoice != "scissors"){ userCho
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;
}
无法将字符串与标准比较器进行比较,您需要使用someString.EqualSignoreCaseSometherString
编辑:
在某些罕见的情况下,您可以使用标准比较器,但这不是其中之一。尝试使用!userChoice.equalignorecasetrack而不是userChoice!=谢谢你。成功了!我甚至不知道这种方法的存在。当比较字符串时,这将使它变得更加容易@ankur singhal先生,还有一个问题。当用户输入石头、布或剪刀时,它仍然完成循环。我认为一旦while循环的参数不再满足,它就会跳出循环。我是否必须为无效消息部分创建条件语句?还是有更简单的方法不使用==或!=对于字符串。@UDS13将进入循环内部,直到条件不满足为止。一旦条件满足,即用户输入石头、布或剪刀,它将不会进入循环内部,并在while循环外部执行语句。我希望它是清楚的。不能比较吗?有时候你可以。这还不清楚answer@whiletrue是的,你可以,但只有在非常罕见的情况下,如果你在其中一种情况下,你不会去stackoverflow看看你是否可以。