1. 你不能在while循环里面写new Scanner..., 放到外面写
2. 你在操作完后,while循环里面可以close。
3. 不然你每次都要new,很耗损的。只要一次就够了,然后while(i.hasNext())或者其他。
给你参考
http://zhidao.baidu.com/question/1923778539061998027.html?oldq=1&from=commentFrom#reply-box-1623168978
这里不需要手动关闭,因为Scanner的源System.in不需要手动关闭。
另外,i 创建一次就可以了,不必放到循环里。
Scanner应该定义在While循环之外, 在循环结束之后关闭。另外关闭不是强制的
你既然声明了该变量,那么你自然也要用它来调用关闭的方法了。
用完Scanner要关闭不然,一直占用内存空间。