java新手 - 线程中的异常" main" java.util.NoSuchElementException

时间:2016-12-08 10:27:11

标签: java exception

我是Java的新手 - 我看过但似乎找不到这个错误

    import java.util.*;

    class MyClass{
      public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        System.out.println("Please input grade");
        int grade = scan.nextInt();
        String gradeLevel = "Error";



        if ((grade > 100) || (grade < 0)){
          System.out.println("Sorry please put a number between 0-100");
        }
        else if (grade > 90){
          gradeLevel = "A";
        }
        else if (grade > 75){
          gradeLevel = "B";
        }
        else if (grade > 49){
          gradeLevel = "C";
        }
        else{
          gradeLevel = "F";
        }
        System.out.println("This student recieved " + gradeLevel + " for his/her grade");
      }

    }

这是我得到的错误:

  

线程中的异常&#34; main&#34; java.util.NoSuchElementException       at java.util.Scanner.throwFor(Scanner.java:862)       在java.util.Scanner.next(Scanner.java:1485)       在java.util.Scanner.nextInt(Scanner.java:2117)       在java.util.Scanner.nextInt(Scanner.java:2076)       在MyClass.main(Main.j`

3 个答案:

答案 0 :(得分:2)

代码在Eclipse IDE中运行得非常好,我正在使用,我正在使用的大部分输入。我想你只是通过使用

来查看System.in是否可用

的System.out.println(System.in.available());

或使用像scan.next();

这样的通用函数

注意:只关闭扫描程序类等资源,即使它不会导致任何错误

答案 1 :(得分:0)

你看到的是一个例外,因为System.in有一个&#34;文件结尾&#34;状态。 在这里,您尝试在输入之前获取输入。

  1. 只需尝试scan.next ()即可解决。

  2. 请使用更好的IDE自动解决期望。

答案 2 :(得分:0)

最初,为什么会收到此错误令我感到很奇怪,因为我没有在Eclipse IDE中得到它,但最终弄清楚了,我想您应该使用在线IDE或其他工具。您必须在启动程序之前提供输入。请参阅以下屏幕截图以及如何提供值。

See

enter image description here

enter image description here