これはまったく些細なことかもしれませんが、私の経験不足が原因で困惑しました: このコード行で
String a = scanner.nextLine();
次のエラーが表示されます
java.util.NoSuchElementException: No line found
スキャナ データを使用する操作がスキャナの使用に続く場合、入力を待機するという印象を受けました。このスキャナーでは、入力を入力する機会がまったくなく、存在しないデータを使用しようとする操作が行われます。
関連する完全なコードを次に示します。その非効率性を忘れてください。
System.out.println(FactBank_QA.qA[ourRANDOM]);
Scanner scanner = new Scanner (System.in);
if (scanner.hasNext()){
String a = scanner.next();
char b = (char)a.charAt(0);
if (b == '*') System.exit(0);
}
System.out.println(FactBank_QA.qA[ourRANDOM+1]);
char c; String f = "0";
do{
if (scanner.hasNext()){
f= scanner.next();
}
c = (char)f.charAt(0);
}while(c != 1 || c != 2);
if (c == 1) {
FactBank_QA.qA[ourRANDOM] = "";
FactBank_QA.qA[ourRANDOM+1] = "";
}
例外は最初から来ており、2番目には達していません ヒントもありがとう。-コードを更新し、.close を削除しました。エラー (!) は表示されなくなりましたが、2 番目のスキャナーとそれに続く「if」が機能しなくなりました。私は .close() を 1 つ持っていましたが、それを削除しました。これにより、「スキャナー」の最初の使用が修正されました