首頁 >Java >java教程 >使用 Scanner.nextInt() 時如何防止出現「java.util.NoSuchElementException」?

使用 Scanner.nextInt() 時如何防止出現「java.util.NoSuchElementException」?

DDD
DDD原創
2024-11-10 22:12:02244瀏覽

How to Prevent

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

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