在while循环中比较字符串

时间:2014-09-22 02:30:21

标签: java string while-loop

好的,我需要让用户输入yes或no然后验证。我必须在while循环中执行此操作。所有这些编译,我没有在这里包括导入等。这就是我所拥有的,

String str;
str = JOptionPane.showInputDialog("Enter answer, yes or no?");

while(!str.equals("yes")||!str.equals("no")) 
{
   str = JOptionPane.showInputDialog(" Invalid entry. Please enter yes or no.");

}

编译时,它会显示输入字符串的对话框。如果我输入yes它会告诉我无效,如果我输入no它会告诉我无效。如果我将||!str.equals("no")取出,它的工作正常,但只有在我输入yes时才能正常工作。所以任何人都可以帮助我?感谢..

2 个答案:

答案 0 :(得分:2)

对于任何非空'str'

 while(!str.equals("yes")||!str.equals("no"))

永远是真的。  取而代之的是while(!str.equals("yes") && !str.equals("no"))

答案 1 :(得分:0)

制作

while (!str.equals("yes") && !str.equals("no")) {
   str = JOptionPane.showInputDialog(" Invalid entry. Please enter yes or no.");
}