Scanner の nextInt() の失敗: NoSuchElementException について
Scanner の nextInt() メソッドを使用して整数を取得しようとすると、恐ろしいエラー: NoSuchElementException。これは、入力ストリームから取得できる整数がなくなったときに発生します。
原因を特定するために、コード スニペットを精査します。
Scanner s = new Scanner(System.in); int choice = s.nextInt(); // Error occurs here s.close();
nextInt() メソッドは、 integer は読み取りを待機していますが、この場合、整数が存在しない可能性があります。このエラーを防ぐには、Scanner が提供する hasNextXXXX() メソッドを利用します。これらのメソッドは、適切なデータ型が利用可能であることを検証し、入力が取得できる状態であることを確認します。
この特定のシナリオでは、hasNextInt():
Scanner s = new Scanner(System.in); int choice = 0; if (s.hasNextInt()) { choice = s.nextInt(); } s.close();
以上がスキャナーの nextInt() を使用すると NoSuchElementException が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。