Scanner 中nextInt() 的錯誤處理
嘗試使用Scanner.nextInt() 檢索整數時,使用者偶爾會遇到錯誤:
java.util.NoSuchElementException at java.util.Scanner.throwFor(Scanner.java:907) at java.util.Scanner.next(Scanner.java:1530) at java.util.Scanner.nextInt(Scanner.java:2160) at java.util.Scanner.nextInt(Scanner.java:2119)
當輸入流不包含可供nextInt() 讀取的整數時,會出現此錯誤。解決此問題的一種方法是使用 hasNexInt()。此函數在嘗試讀取整數之前驗證它是否存在。
Scanner s = new Scanner(System.in); int choice = 0; if(s.hasNextInt()) { choice = s.nextInt(); } s.close();
此修改確保僅當有整數可供讀取時才呼叫 nextInt(),從而防止錯誤。此外,完成後關閉掃描器以釋放系統資源是一個很好的做法。
以上是使用 Scanner.nextInt() 時如何防止出現「java.util.NoSuchElementException」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!