2016-12-08 23 views
0

我是新来的Java - 香港专业教育学院看了,但似乎无法找到什么是错与此新到Java - 在线程异常“主要” java.util.NoSuchElementException

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"); 
     } 

    } 

这是错误我得到:螺纹

异常 “主要” java.util.NoSuchElementException 在java.util.Scanner.throwFor(Scanner.java:862) 在java.util.Scanner.next(扫描仪.java:1485) at java.util.Scanner.next INT(Scanner.java:2117) 在java.util.Scanner.nextInt(Scanner.java:2076) 在MyClass.main(Main.j`

+1

什么是输入? –

+0

你应该关闭你的扫描仪,尽管它不会导致你现在的例外。 –

回答

0

你们看到的是因为系统异常。有一个“文件结束”状态。 在这里,您正在尝试在输入之前获取输入。

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

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

1

在Eclipse IDE中,我正在使用的代码工作得很好,并且使用了我提供的大部分输入。我想你只是想通过使用

System.out.println(System.in.available())来查看System.in是否可用。

或使用像scan.next()这样的通用函数;

注意:尽管不会造成任何错误,但只需关闭Scanner类等资源

相关问题