首頁 >Java >java教程 >為什麼我在使用 Java 的 Scanner 類別時收到「NoSuchElementException」?

為什麼我在使用 Java 的 Scanner 類別時收到「NoSuchElementException」?

Patricia Arquette
Patricia Arquette原創
2024-12-04 02:45:11868瀏覽

Why Am I Getting a

Java.Util.Scanner 中的「NoSuchElementException」故障排除

Java 中的「NoSuchElementException」錯誤是因為嘗試使用錯誤Scanner 類別關閉或空輸入來源。在您的情況下,當您嘗試從使用者讀取第二個整數(程式碼中的第 17 行)時,會發生此異常。

要調試此問題,讓我們詳細檢查Scanner 類別:

Scanner 類別

Scanner 類別允許您從來源讀取文字數據,例如System.in( 安慰)。它的方法可讓您從來源中提取各種資料類型,包括整數 (nextInt())。

在程式碼中,您建立一個名為「input」的 Scanner 物件來從控制台讀取輸入。然後,您嘗試將兩個整數值讀入變數 number1 和 number2。

錯誤分析

「NoSuchElementException」錯誤表示 Scanner 物件期望找到一個整數在下一行輸入中但找不到。發生這種情況的原因有很多:

  • 沒有整數輸入: 確保您實際上在控制台的不同行中輸入了兩個整數。
  • 輸入類型不正確:仔細檢查您提供的輸入類型是否正確int.
  • 掃描器已關閉:在嘗試讀取輸入之前確保掃描器未關閉。

建議的解決方案

要解決此問題,請考慮添加檢查以驗證掃描器在嘗試提取之前是否有另一個要讀取的整數it:

if (input.hasNextInt()) {
  number2 = input.nextInt(); 
} else {
  // Handle the case where no integer is found
  // (e.g., display an error message or set number2 to a default value)
}

透過合併此檢查,您可以在嘗試讀取它之前確定是否有另一個可用的整數。如果沒有,您可以採取適當的操作,例如顯示錯誤訊息或將 number2 設定為預設值。

以上是為什麼我在使用 Java 的 Scanner 類別時收到「NoSuchElementException」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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