2013-12-10 36 views
0

嗨我試圖同時使用& &和||運營商在一段時間的聲明。我想我可以通過使用另一個'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 < 1month2 > 12是真實的;而當month2 < month1

你所寫的內容操作的隱含順序是:

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

作爲明確的與括號將允許你檢查權條件。

0

你非常接近。

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

看起來像你只需要另一套括號的:

while (month2 < month1 && (month2 < 1 || month2 > 12)) 
相關問題