2017-01-23 452 views
0

我有一個程序化的Java程序,有多個段,我想手動執行(使用「按Enter鍵繼續」)。Java等待輸入按(不要執行多個按鍵)

現在我一直在嘗試使用System.in.read()或Scanner,但是如果我要進行多次輸入,它會自動執行下一個段。

我該如何規範這種行爲?

+0

可能的重複:http://stackoverflow.com/questions/18281543/java-using-scanner-enter-key-pressed?rq = 1 –

+0

您可以在每個段完成後清空輸入緩衝區嗎?我沒有嘗試過,但是做了類似[僞代碼] System.in.read([in.available()length]的byte數組)。以「沖洗」一切。 –

回答

0

我建議使用BufferedReader而不是System.in.read()。它也有一個內置的沖洗機制。

0

在等待下一個輸入之前,您必須從InputStream中刪除所有內容。

System.in.available()返回當前流中的字節數。

System.in.read(new byte[System.in.available()]); 

這會清除流,所以現在用戶必須再次輸入內容。

注意:System.in.skip()由於某種原因不起作用。