如何使用Scanner 處理無效輸入
在使用Scanner 進行使用者輸入時,處理無效輸入(例如非數字字元)是非常重要的對於程序的穩健性至關重要。讓我們探索解決此問題的解決方案。
考慮以下程式碼片段:
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) 是大於第一個 (num1)。但是,它有兩個限制:
為了解決這些問題,我們可以利用Scanner.hasNextInt() 方法,該方法確定輸入中的下一個標記是否可以解釋為整數。
以下程式碼片段包含這些改進:
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() 輸入並忽略無效字符,程式可以優雅地處理非數字輸入。此外,do-while 迴圈可確保第二個數字大於第一個數字,從而防止在獲得有效輸入後繼續循環。
以上是如何使用Java的掃描器優雅地處理無效的整數輸入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!