扫描程序抛出NoSuchElementException

时间:2018-02-05 11:14:42

标签: java string substring java.util.scanner

以下代码显示错误。我对编码很新。这件事搞得头疼。我该怎么办?

我已经尝试过我所知道的一切,但到目前为止还没有任何结果。编写此类程序的最佳和最有效的方法是什么?

  

线程“main”中的异常

     

在。的java.util.NoSuchElementException   java.util.Scanner.throwFor(Scanner.java:862)   java.util.Scanner.next(Scanner.java:1371)   Codechef.main(Main.java:27)

以下代码是在编辑之后。但它仍然显示NoSuchElementFound异常的相同错误。

   public static void main (String[] args) throws java.lang.Exception {
        Scanner scan =  new Scanner(System.in);

        while (!scan.hasNext()) {
            try {
                Thread.sleep(300);
        } catch (RuntimeException ignored) {}

        System.out.println("Enter first name");

        String fName = scan.next();

        while(!scan.hasNext()) {
            try {
                Thread.sleep(300);
            }catch (RuntimeException ignored) {}
        }
        String lName = scan.next();

        while (scan.hasNext()) {
           try {
               Thread.sleep(300);
        } catch (RuntimeException ignored) {}
        int id = scan.nextInt();

        int marks[] = new int[5];
        getInfo(fName, lName, id, marks);
    }
}
}

1 个答案:

答案 0 :(得分:0)

正如您所提到的,您的任何问题都没有。 您只需要进行一些重构并允许弹出用户写入名字和姓氏: 尝试在从用户输入之前添加System.out.println("")。 例如: System.out.println("输入名字:"); String fName = scan.next();

可能的根本原因: 当你得到" ID"来自用户,你必须在那里提供INTEGER值。