Scanner.nextLine()抛出NoSuchElementException

时间:2019-06-24 23:47:09

标签: java java.util.scanner nosuchelementexception console.readline

我在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()后,此功能将正常运行。

0 个答案:

没有答案