Exception in thread "main" java.util.NoSuchElementException

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();
      }
posted @ 2022-09-28 22:19  DbWong_0918  阅读(1076)  评论(0编辑  收藏  举报