2016-05-09 37 views
0

我正在閱讀Deitel書,它說有一個按鍵序列CTRL z終止了掃描器輸入。因此,我在NetBeans IDE中編寫了類似的代碼(類似於Deitel的書)文件結束鍵序列在NetBeans上不起作用

 Scanner y = new Scanner(System.in); 
     String g; 
     while(y.hasNext()) 
     { 
      g = y.nextLine(); 
      System.out.println(g); 
     } 

但是當我輸入一些輸入後按CTRL-Z,什麼也沒有發生。在java(EOF鍵序列)中是否存在這樣的事情?我也訪問了頁面How to terminate Scanner when input is complete?,但建議的代碼不適用於我。

+2

[https://netbeans.org/bugzilla/show_bug.cgi?id=224311](https://netbeans.org/bugzilla/show_bug.cgi?id=224311) – resueman

+0

嗯,你不應該用那個無論如何都要關閉流,因爲這會阻止您在程序的後面請求更多輸入。你可以嘗試類似代碼工作的東西,完成這一時刻的輸入。像'String s = y.next(); if(y.equals(「stop」)break;' – Tom

+0

我已經使用過它了。字符串結束符是好的我要查看是否有組合的鍵完成相同的事情.BTW謝謝 – Agent47

回答

0

文件結束符終結符是特定於平臺的...並且通常在Java控制之外實現。

在Windows上使用^ Z,但在基於Linux/Unix的系統上^ D是正常的EOF字符......接受來自「tty」或同等字符的字符。

嘗試^ D。