如何解决此代码中的java.util.NoSuchElementException?

How to solve java.util.NoSuchElementException in this code?

提问人:Vaishnavi Pounikar 提问时间:10/13/2022 最后编辑:JensVaishnavi Pounikar 更新时间:10/13/2022 访问量:241

问:

法典:

import java.util.Scanner;
public class Main {

    public static void main(String[] args) {
    Scanner sc=new Scanner(System.in);
        System.out.println("Enter your name : ");
        String name=sc.nextLine();
        System.out.println("Enter your age : ");
        int age=sc.nextInt();
        System.out.println("hello "+name+". you're "+age+" old.");
    }
}

例外: 输入您的姓名:线程“main”中的异常

java.util.NoSuchElementException:在 java.util.Scanner.nextLine(Scanner.java:1540) 在 主机6347b255eeb1595.main(Main6347b255eeb1595.java:8)

java.util.scanner nosuchelementexception

评论

1赞 Thomas 10/13/2022
在实际尝试阅读下一行之前尝试使用。JavaDoc on : “此方法在等待输入时可能会阻塞。if(sc.hasNextLine())hasNextLine()

答:

0赞 Kirill 10/13/2022 #1

至少可以做这样的事情:

String name = "";
if (sc.hasNextLine()) {
    name = sc.nextLine();
}

或者更好的是,您可以使用没有空行的可选项。