我在Scanner.nextLine()以及System.console()。readLine()上都没有找到这种元素异常,特别是在项目的一个类中,而在其他类中却很好。
String displayQuestion(Questions q, Scanner P)
{
//Scanner P = new Scanner(System.in);
String response = new String();
System.out.println(q.Question);
if(MCQ)
{
char i='a';
for (String option : Options)
{
System.out.print(i+". ");
System.out.println(option);
i++;
}
System.out.println("Enter your response:");
//response = System.console().readLine("Enter your response:");
response = P.nextLine();
//P.close();
return response;
}
else
{
System.out.println("Your response: ");
response = P.nextLine();
//P.close();
return response;
}
}
Exception in thread "main" java.util.NoSuchElementException: No
line found
at java.base/java.util.Scanner.nextLine(Scanner.java:1651)
at Quiz.Questions.displayQuestion(Questions.java:104)
仅发现在此之前的另一个函数调用具有Scanner实用程序,该实用程序在该函数执行之前关闭System.in。删除该Scanner.close()后,此功能将正常运行。