0
ではNoSuchElementException私はここに、コンソールから一部のデータを取得する必要がありScannerクラスに問題があるが、コードは次のとおりです。Scannerクラス
private static int getInputFromTheConsole() {
System.out.println("Enter one of the menu options.");
// Scanner sc = new Scanner(System.in);
// return sc.nextInt();
try(Scanner sc = new Scanner(System.in)) {
return Integer.parseInt(sc.nextLine());
} catch (NumberFormatException e) {
return -1;
}
}
私は2つのコメント行を使用する場合、それが正常に動作しますが、私は使用している場合リソースが試行されているスキャナはNoSuchElementException
を投げます。 try-catchブロックでプログラムのデバッガをデバッグしようとすると、単に入力を待つことはありませんが、前に述べたように、コメント行のコードで正常に動作します。 どうしてですか?
TRY-と資源たとえば。 – Pshemo
代わりにsc.nextInt()を使用してみませんか? –
System.inから読み取るスキャナは1つだけにしてください。他のメソッドに渡すことはできますが、これらのメソッドは(System.inから読み込む必要がなくなったことが確実でない限り)閉じません。 – Pshemo