虽然这可能完全是微不足道的,但由于缺乏经验,我感到很困惑:使用这行代码
String a = scanner.nextLine();
我看到以下错误
java.util.NoSuchElementException: No line found
我的印象是,当涉及使用 Scanner 数据的操作跟随使用扫描仪时,它会等待输入。这个扫描仪让我没有机会输入我的输入,让我尝试使用不存在的数据进行操作。
这是完整的相关代码。忘记它的低效率。
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] = "";
}
例外来自第一个,第二个未达到也感谢您的提示。- 更新了代码并删除了 .close 我不再收到错误(!)但是第二个扫描仪和后续的“如果”现在不起作用。我确实有一个 .close() 但已将其删除,这修复了“扫描仪”的第一次使用