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

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


这是我遇到的问题。即使它小于接机月份,也不会再次提示用户输入返回月份。

最佳答案

也许你的意思是:

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


month2 < 1month2 > 12之一为true时,它会进行迭代;以及month2 < month1时。

您所写内容的隐含操作顺序是:

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


用括号显式表示可以检查正确的条件。

10-06 08:52