0

入力行を読み取る必要があるプログラムがあります。一度に多くの行が必要です。例えば:


タイムマシンに入るかどうかにかかわらず、自由意志は存在するのだろうか?タイムマシンに入ったとき、自由意志は存在するのだろうか。


それはすべて、ユーザーによって一度に入力されます。Scanner クラスの .hasNextLine() メソッドを使用しようとしましたが、false が返されません。再び入力を待ちます。私は解決策を探していて、.hasNextLine() が入力を待っているように見えますが、どの代替手段を使用すればよいかわかりません。助言がありますか?実際のコードは次のようになります。

while(input.hasNextLine());
        {
            line += input.nextLine();
        }

ご協力いただきありがとうございます

4

1 に答える 1

2

おそらく、ユーザーが特定の文字シーケンスを入力したときに、ループから抜け出すことを意味する、ある種の「停止」シーケンスを使用する必要があります。次のようになります。

public static void main(String args[]){
    final String stopSequence = "/stop";
    final Scanner reader = new Scanner(System.in);
    String input = reader.nextLine();
    while(!input.equalsIgnoreCase(stopSequence)){
        //process input
        input = reader.nextLine();
    }
}
于 2013-11-01T20:13:53.900 に答える