如何使用掃描器驗證整數輸入並處理無效輸入
在Java 中,在處理使用者輸入時,確保數值資料的有效性對於程序的穩健性至關重要。本文示範如何使用 Scanner 類別強制執行有效的整數輸入並優雅地處理無效輸入,例如非數字字元。
問題:
考慮以下內容code:
Scanner kb = new Scanner(System.in); int num1; int num2 = 0; System.out.print("Enter number 1: "); num1 = kb.nextInt(); while(num2 < num1) { System.out.print("Enter number 2: "); num2 = kb.nextInt(); }
此程式碼旨在提示使用者輸入兩個整數,確保num2 大於編號1 。然而,它面臨兩個挑戰:
解:
為了解決這些挑戰,我們可以利用 Scanner 的 hasNextInt() 方法。此方法傳回布林值,指示輸入流中的下一個標記是否可以解釋為整數。如果傳回 false,我們就知道輸入無效,可以提示使用者重試。
這是程式碼的改進版本:
Scanner sc = new Scanner(System.in); System.out.print("Enter number 1: "); while (!sc.hasNextInt()) sc.next(); int num1 = sc.nextInt(); int num2; System.out.print("Enter number 2: "); do { while (!sc.hasNextInt()) sc.next(); num2 = sc.nextInt(); } while (num2 < num1); System.out.println(num1 + " " + num2);
在此程式碼中,我們檢查在嘗試讀取有效整數之前使用 hasNextInt() 。如果輸入無效,我們使用 sc.next() 消耗輸入並再次提示使用者。
優點:
相關問題:
以上是如何使用 Scanner 在 Java 中驗證整數輸入並處理無效輸入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!