を入力を読み取るために、私は次のようでした:どのようにJavaの
1)BufferedReader
を作成。
2)リードstdio
からラインごととはStringBuilder
br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder everything = new StringBuilder();
String line;
while((line = br.readLine()) != null) {
everything.append(line);
}
System.out.println(everything.toString());
にそれを追加しかし、私はループを終了することはできません。 例えば、そのような入力を渡してENTER
を押すと、私はまだループしています。
aut Caesar aut nihil
aut aut
de mortuis aut bene aut nihil
どうすればこの問題を解決できますか?または、別の方法をstdio
から読み込む必要がありますか?
'もう一方の端に一部のコンテンツが生成されて送信される可能性があるので、アプリケーションは、あなたが呼んでいるそれのためにそれぞれの時間を待つ必要があるのでstdin'は、ストリームをオープンしている'のreadLine() '。これを解決するには、いくつかの停止シーケンスを使用してループを終了する必要があるかどうかを判断できます。このようなシーケンスは、 'end'、' stop'、まったく単語がないかもしれません。ただ空の行です。したがって、あなたのソリューションは 'while(line = br.readLine())!= null &&!line.equals(" stop ")){...}' – Pshemo
あなたは 'EOF'を生成することができます。 「」を押してください。プログラムを実行するために使用しているコンソールに完全に依存します。 –
AJNeufeld
なぜユーザー入力を読み取るためにScannerクラスを使用していないのですか?このアプローチよりもずっと簡単です。 –