2015-05-03 60 views
-1

我想从以下示例代码和示例输入的eclipse控制台读取输入。我运行程序后将整个输入粘贴到控制台中。 示例代码用扫描仪调试eclipse控制台

public class App { 
    private static Scanner scanner; 

    public static void main(String[] args) { 
     scanner = new Scanner(System.in); 
     scanner = scanner.useDelimiter("\\n"); 

     while (scanner.hasNextLine()) { 
      String out = scanner.nextLine(); 
      System.out.println(out); 
      // System.exit(0); 
     } 

     scanner.close(); 
     System.out.close(); 
     System.exit(0); 
    } 
} 

样品输入:

8 5 
2 3 1 2 3 2 3 3 
0 3 
4 6 
6 7 
3 5 
0 7 

我的问题是 印刷除了最后1行)的一切。如果我按Enter键,则在换行符与输入不同的情况下打印最后一行。 2.)无法退出循环并终止JVM。与日食月球jre8/jre7

回答

0
  1. 最后一行将只会被阅读一旦你按下输入。我认为Eclipse甚至不会将角色发送到您的应用程序(例如,您可以删除您键入的内容)。
  2. Scanner#hasNextLine可能会阻止。所以它会等待你下一次输入。您可能不得不提供类似EOF character的内容来终止循环,但我不确定是否可以在Eclipse控制台中输入该内容。

作为一种解决方法,您可以将诸如'quit'之类的输入专用于退出循环,或者如果您确实从文件读取,则始终会有EOF。

+0

1)只要我按CTRL + V所有的输入,直到第二个最后一行得到打印,然后输入键带来最后一行,2)退出循环我明白我可能需要一个EOF。 – ankurbrdwj