2014-09-22 172 views
0

好吧,所以我需要让用户输入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。所以任何人都可以帮助我?谢谢..

+7

说出你的条件出声来。 – 2014-09-22 02:31:26

+0

让我们将数据类型从String改为int。你知道任何'x'这个句子是否是'x!= 1 OR x!= 2'? – Pshemo 2014-09-22 02:33:55

回答

2

对于任何非空 'STR'

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

永远是正确的。 而是让它while(!str.equals("yes") && !str.equals("no"))

0

使其

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