try/catch with InputMismatchException 循環問題
嘗試使用try/catch 區塊和InputMismatchException 處理用戶輸入時,您可能會遇到如果輸入不是整數,則無限循環。若要解決此問題,請確保呼叫 next() 使掃描器前進到無效輸入之前。
catch (Exception e) { System.out.println("Error!"); input.next(); // Advance past invalid input }
此外,建議在讀取之前使用 hasNextInt() 檢查有效的整數輸入。
while (bError) { if (scanner.hasNextInt()) n1 = scanner.nextInt(); else { scanner.next(); // Advance past invalid input continue; } // Repeat for n2 }
這種方法確保掃描器跳過非整數輸入並僅繼續處理有效值,從而消除了異常的需要處理。
以上是使用Java的掃描器處理無效整數輸入時如何防止無限循環?的詳細內容。更多資訊請關注PHP中文網其他相關文章!