Exception in thread "main" java.util.NoSuchElementException
用了两个scanner的时候,执行程序发生报错:Exception in thread "main" java.util.NoSuchElementException
at java.base/java.util.Scanner.throwFor(Scanner.java:937)
at java.base/java.util.Scanner.next(Scanner.java:1594)
at java.base/java.util.Scanner.nextInt(Scanner.java:2258)
at java.base/java.util.Scanner.nextInt(Scanner.java:2212)
at IfChallenge1.main(IfChallenge1.java:13)
System.in“标准”输入流。此流已打开并准备提供输入数据。通常,此流对应于键盘输入或者由主机环境或用户指定的另一个输入源。
当调用close()后,System.in这个流将会关闭,所以也就影响到了第二个scanner了,导致不能接受数据,从而引发java.util.NoSuchElementException
解决方法:
使用一个scanner,大概就是这样使用
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入您的职业:");
String zhiye1 = sc.nextLine();
System.out.println("请输入您入园的月份:");
String yuefen = sc.nextLine();
int yuefen1 = Integer.valueOf(yuefen.trim()).intValue();
}
标签:Exception,java,Scanner,thread,NoSuchElementException,System,util,main
From: https://www.cnblogs.com/jokingremarks/p/16739792.html