首頁 >Java >java教程 >使用Java的掃描器處理無效整數輸入時如何防止無限循環?

使用Java的掃描器處理無效整數輸入時如何防止無限循環?

Patricia Arquette
Patricia Arquette原創
2024-12-11 17:08:18295瀏覽

How to Prevent Infinite Loops When Handling Invalid Integer Input with Java's Scanner?

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn