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

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

DDD
發布: 2024-11-10 22:12:02
原創
228 人瀏覽過

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板