Java和/或运算符不工作
我使用以下语句在满足两个条件时中断循环:Java和/或运算符不工作,java,operators,conditional,Java,Operators,Conditional,我使用以下语句在满足两个条件时中断循环: while (true) { if (uAnswer1.equals(answerB1) || uAnswer1.equals(answerB2) || uAnswer1.equals(answerB3)|| uAnswer1.equals(answerB4) && uAnswer2.equals(answerS1)|
while (true)
{
if (uAnswer1.equals(answerB1) || uAnswer1.equals(answerB2)
|| uAnswer1.equals(answerB3)|| uAnswer1.equals(answerB4)
&&
uAnswer2.equals(answerS1)|| uAnswer2.equals(answerS2)){
break;
}
当满足一个或两个&&条件时,循环将中断。但是,我编写的代码仅在两个条件都为真时才中断循环
上面的陈述有什么遗漏吗?
当做
Shei7141.用括号括起来
if ( (uAnswer1.equals(answerB1) || uAnswer1.equals(answerB2)
|| uAnswer1.equals(answerB3)|| uAnswer1.equals(answerB4))
&&
(uAnswer2.equals(answerS1)|| uAnswer2.equals(answerS2)) )
或
甚至做一个正确答案的HashSet
,这样做既干净又高效
answers1Set.contains(uAnswer1) && answers2Set.contains(uAnswer2)
用括号括起来
if ( (uAnswer1.equals(answerB1) || uAnswer1.equals(answerB2)
|| uAnswer1.equals(answerB3)|| uAnswer1.equals(answerB4))
&&
(uAnswer2.equals(answerS1)|| uAnswer2.equals(answerS2)) )
或
甚至做一个正确答案的HashSet
,这样做既干净又高效
answers1Set.contains(uAnswer1) && answers2Set.contains(uAnswer2)
用括号括起来
if ( (uAnswer1.equals(answerB1) || uAnswer1.equals(answerB2)
|| uAnswer1.equals(answerB3)|| uAnswer1.equals(answerB4))
&&
(uAnswer2.equals(answerS1)|| uAnswer2.equals(answerS2)) )
或
甚至做一个正确答案的HashSet
,这样做既干净又高效
answers1Set.contains(uAnswer1) && answers2Set.contains(uAnswer2)
用括号括起来
if ( (uAnswer1.equals(answerB1) || uAnswer1.equals(answerB2)
|| uAnswer1.equals(answerB3)|| uAnswer1.equals(answerB4))
&&
(uAnswer2.equals(answerS1)|| uAnswer2.equals(answerS2)) )
或
甚至做一个正确答案的HashSet
,这样做既干净又高效
answers1Set.contains(uAnswer1) && answers2Set.contains(uAnswer2)
上述代码显示uAnswer1.equals(answerB4)和&uAnswer2.equals(answer1)处于和状态
while (true)
{
if ((uAnswer1.equals(answerB1) || uAnswer1.equals(answerB2)
|| uAnswer1.equals(answerB3)|| uAnswer1.equals(answerB4))
&&
(uAnswer2.equals(answerS1)|| uAnswer2.equals(answerS2))){
break;
}
上述代码显示uAnswer1.equals(answerB4)和&uAnswer2.equals(answer1)处于和状态
while (true)
{
if ((uAnswer1.equals(answerB1) || uAnswer1.equals(answerB2)
|| uAnswer1.equals(answerB3)|| uAnswer1.equals(answerB4))
&&
(uAnswer2.equals(answerS1)|| uAnswer2.equals(answerS2))){
break;
}
上述代码显示uAnswer1.equals(answerB4)和&uAnswer2.equals(answer1)处于和状态
while (true)
{
if ((uAnswer1.equals(answerB1) || uAnswer1.equals(answerB2)
|| uAnswer1.equals(answerB3)|| uAnswer1.equals(answerB4))
&&
(uAnswer2.equals(answerS1)|| uAnswer2.equals(answerS2))){
break;
}
上述代码显示uAnswer1.equals(answerB4)和&uAnswer2.equals(answer1)处于和状态
while (true)
{
if ((uAnswer1.equals(answerB1) || uAnswer1.equals(answerB2)
|| uAnswer1.equals(answerB3)|| uAnswer1.equals(answerB4))
&&
(uAnswer2.equals(answerS1)|| uAnswer2.equals(answerS2))){
break;
}
while(true)
{
如果((uAnswer1.equals)(answerB1)| | uAnswer1.equals(answerB2)
||uAnswer1.equals(answerB3)| uAnswer1.equals(answerB4))
&&
(uAnswer2.equals(answer1)| | uAnswer2.equals(answer2)))
打破
}while(真)
{
如果((uAnswer1.equals)(answerB1)| | uAnswer1.equals(answerB2)
||uAnswer1.equals(answerB3)| uAnswer1.equals(answerB4))
&&
(uAnswer2.equals(answer1)| | uAnswer2.equals(answer2)))
打破
}while(真)
{
如果((uAnswer1.equals)(answerB1)| | uAnswer1.equals(answerB2)
||uAnswer1.equals(answerB3)| uAnswer1.equals(answerB4))
&&
(uAnswer2.equals(answer1)| | uAnswer2.equals(answer2)))
打破
}while(真)
{
如果((uAnswer1.equals)(answerB1)| | uAnswer1.equals(answerB2)
||uAnswer1.equals(answerB3)| uAnswer1.equals(answerB4))
&&
(uAnswer2.equals(answer1)| | uAnswer2.equals(answer2)))
打破
}以上代码显示
uAnswer1.equals(answerB4)和&uAnswer2.equals(answerS1)
处于和条件下。在这种情况下,&
将优先于|
@JigarJoshi的答案是正确的。answerBn
和answerSn
值在循环中是常量吗?上面的代码显示uAnswer1.equals(answerB4)和&uAnswer2.equals(answerS1)
处于和条件中,在这种情况下,&
将优先于|
@JigarJoshi的答案是正确的。answerBn
和answerSn
值在循环中是常量吗?上面的代码显示uAnswer1.equals(answerB4)和&uAnswer2.equals(answerS1)
处于和条件中,在这种情况下,&
将优先于|
@JigarJoshi的答案是正确的。answerBn
和answerSn
值在循环中是常量吗?上面的代码显示uAnswer1.equals(answerB4)和&uAnswer2.equals(answerS1)
处于和条件中,在这种情况下,&
将优先于|
@JigarJoshi的答案正确。answerBn
和answerSn
值在循环中是否保持不变?