ホームページ >Java >&#&チュートリアル >Java のスキャナ クラスを使用すると「NoSuchElementException」が発生するのはなぜですか?
Java.Util.Scanner の「NoSuchElementException」のトラブルシューティング
Java の「NoSuchElementException」エラーは、通常、次からの読み取りを試みることによって発生します。 Scanner クラスを使用した、閉じられたまたは空の入力ソース。あなたの場合、この例外は、ユーザーから 2 番目の整数 (コードの 17 行目) を読み取ろうとしたときに発生しています。
この問題をデバッグするには、Scanner クラスを詳しく調べてみましょう:
Scanner クラス
Scanner クラスを使用すると、ソースからテキスト データを読み取ることができます。 System.in (コンソール)。そのメソッドを使用すると、ソースから整数 (nextInt()) などのさまざまなデータ型を抽出できます。
コード内で、コンソールから入力を読み取るための「input」という名前の Scanner オブジェクトを作成します。次に、変数number1とnumber2に2つの整数値を読み取ろうとします。
エラー分析
「NoSuchElementException」エラーは、Scanner オブジェクトが整数の検索を期待していることを示しています。入力の次の行にありますが、見つかりません。これはいくつかの理由で発生する可能性があります:
提案されたソリューション
この問題を解決するには、読み取りを試みる前に、スキャナーに読み取る別の整数があることを確認するチェックを追加することを検討してください。抽出するには:
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 のスキャナ クラスを使用すると「NoSuchElementException」が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。