簡體   English   中英

Java掃描器或緩沖讀取器

[英]Java Scanner or Buffered Reader

我有一個要求,我必須從控制台而不是從文件中讀取輸入

輸入格式如下。我理解我可以使用任何字符退出。但是我不能給出任何其他輸入。我可以寫一些東西,例如等待特定的時間,如果沒有輸入則中斷循環或否則,可以做其他什么來讀取我們之前從未知道過的長度的輸入。

你好,艾格尼絲
奴才,Bedo
矢量,收縮射線

以下邏輯將使readline永遠等待輸入,並且無濟於事,因為我按的每個輸入將再次成為另一個輸入字符,並且永遠不會結束。

我既不想給出任何退出字符來確定輸入的結束,例如“退出”。 如何處理?

ArrayList<String> emp=new ArrayList<String>();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
h=br.readLine();
while((h=br.readLine()) != null)
{           
   emp.add(h);         
}

您可以添加一個請求用戶輸入的線程,然后添加一個在每個新輸入上重新啟動的Timer。 計時器到期時,它將關閉用戶輸入線程。

    Scanner reader = new Scanner(System.in);
    System.out.println("Enter something: ");
    String s=reader.nextLine();
    System.out.println("You enetered: " + s);

結果是:

Enter something: 
Mike,Elofson
You enetered: Mike,Elofson

一般來說,根據我的經驗,掃描儀更容易使用,更常用於輸入。

“”輸入(即直接按Enter鍵)或兩個/三個連續的“”輸入怎么樣?

我認為等待一段時間不是一個好主意。 無論如何,您需要一些輸入來指示結束。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM