一、报错原因
想了好久,自己的输入的数据也没啥问题。为什么在使用Scanner类会
NoSuchElementException,官方是说if input is exhausted。意思就是输入流耗尽的意思。额,看了一下源码,当我们 new 一个 Scanner 类的时候,获取的输入流是一个静态常量对象public static final InputStream in = null;。在关闭后,即调用Scanner类的 close 的方法后,输入流就被永远关闭了。第二次再次获取输入流不能正确打开,也就是说,这个输入流只能被关闭一次。
二、解决办法
在整个程序结束时才调用关闭流的方法。