2015-12-22 66 views
0

我正在使用while循環來驗證數據,以確保用戶只輸入1到6之間的數字。循環捕獲無效條目沒有問題,但是當輸入正確的數字時,它需要是第二次進入以便繼續。如果我取出|| menuScan.nextInt() > 6,循環將按照我需要的完全工作,但我需要在循環中包含此行。雖然循環數據驗證

while (!menuScan.hasNextInt() || menuScan.nextInt() > 6) { 
    menuScan.nextLine(); 
    System.err.println("Please enter a valid menu option 1 - 6: "); 
} 

menuChoice = menuScan.nextInt(); 
+0

我想將需要更多的上下文來回答這個問題......你能後的休息你方法?哪種方法觸發提示輸入新值? –

回答

3

值分配給您的變量在你讀它的第一次的時刻:

while (!menuScan.hasNextInt() || (menuChoice = menuScan.nextInt()) > 6) { 
    menuScan.nextLine(); 
    System.err.println("Please enter a valid menu option 1 - 6: "); 
} 
+0

謝謝,這工作很好。 –