我是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`
答案 0 :(得分:2)
代码在Eclipse IDE中运行得非常好,我正在使用,我正在使用的大部分输入。我想你只是通过使用
来查看System.in是否可用的System.out.println(System.in.available());
或使用像scan.next();
这样的通用函数注意:只关闭扫描程序类等资源,即使它不会导致任何错误
答案 1 :(得分:0)
你看到的是一个例外,因为System.in有一个&#34;文件结尾&#34;状态。 在这里,您尝试在输入之前获取输入。
只需尝试scan.next ()
即可解决。
请使用更好的IDE自动解决期望。
答案 2 :(得分:0)
最初,为什么会收到此错误令我感到很奇怪,因为我没有在Eclipse IDE中得到它,但最终弄清楚了,我想您应该使用在线IDE或其他工具。您必须在启动程序之前提供输入。请参阅以下屏幕截图以及如何提供值。