嗨,我正在尝试同时使用&&和||运算符在while语句中。我想我可以通过使用另一个'while'来做到这一点,但我想知道是否有任何方法可以将它们一起使用。
while (month2<month1 && month2<1 || month2>12 ){
System.out.println("Enter the return month (1-12) : ");
month2 = input.nextInt();
}
这是我遇到问题的部分。即使它比接听月份小,也不会再次提示用户返回月份。
答案 0 :(得分:1)
也许你的意思是:
while (month2 < month1 && (month2 < 1 || month2 > 12))
当其中一个:month2 < 1
或month2 > 12
为真时,会说迭代;以及month2 < month1
。
你所写的隐含的操作顺序是:
(month2 < month1 && month2 < 1) || month2 > 12
明确括号将允许您检查正确的条件。
答案 1 :(得分:0)
你非常接近。
while ((month2<1 || month2>12) && month2<month1){
System.out.println("Enter the return month (1-12) : ");
month2 = input.nextInt();
}
答案 2 :(得分:0)
看起来你只需要另一套parens:
while (month2 < month1 && (month2 < 1 || month2 > 12))