1

これはまったく些細なことかもしれませんが、私の経験不足が原因で困惑しました: このコード行で

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 つ持っていましたが、それを削除しました。これにより、「スキャナー」の最初の使用が修正されました

4

1 に答える 1