2015-05-03 94 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