在while语句中使用多个运算符

时间:2013-12-10 23:08:22

标签: java operators conditional-statements

嗨,我正在尝试同时使用&&和||运算符在while语句中。我想我可以通过使用另一个'while'来做到这一点,但我想知道是否有任何方法可以将它们一起使用。

while (month2<month1 && month2<1 || month2>12 ){
    System.out.println("Enter the return month (1-12) : ");
    month2 = input.nextInt();
    }

这是我遇到问题的部分。即使它比接听月份小,也不会再次提示用户返回月份。

3 个答案:

答案 0 :(得分:1)

也许你的意思是:

while (month2 < month1 && (month2 < 1 || month2 > 12))

当其中一个:month2 < 1month2 > 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))