我为我的作业写了一些代码,“堆排序”。
此时,程序向我抛出了一个错误。
insert 'input file name' : abc.txt
insert 'output file name' : Exception in thread "main" java.util.NoSuchElementException: No line found
at java.util.Scanner.nextLine(Unknown Source)
at Solution.main(Solution.java:13)现在我解决问题的方法是
Scanner in = new Scanner(System.in);
System.out.print("insert 'input file name' : ");
String inputFile = in.nextLine();
System.out.print("insert 'output file name' : ");
String outputFile = in.nextLine();
in.close();但我想知道为什么会发生这个问题。
发布于 2016-04-10 03:47:28
Scanner in = new Scanner(System.in);
...
in.close();这里的问题是,您正在关闭一个正在读取Scanner的System.in。这也关闭了System.in。
解决方案是,您不应该关闭Scanner。
您应该始终关闭您创建的资源。System.in不是您创建的资源,所以不需要关闭它。
https://stackoverflow.com/questions/36525434
复制相似问题