Java标准输入流system.in报错: java.util.NoSuchElementException解决方法
我的程序大概是这样的:
main()主函数里面,调用两个自定义的方法,这里我们称之为方法a和方法b;
主函数main()里有一个:Scanner scanner = new Scanner(System.in);
方法a和方法b里也有这个:Scanner scanner = new Scanner(System.in);
当主函数调用完方法a以后,代码又执行到main()里的时候,就会突然的报错: java.util.NoSuchElementException
这个时候,我们只需要把方法a()里面的:scanner.close();给注释掉即可。
大概的原因我猜测了一下,是因为程序在关闭资源以后,就没办法再打开了scanner.nextInt();输入流了,所以会产生报错。
因此,我们只有在百分百确定输入流不使用以后,才能将输入流关闭。