これはコードです:ループは(JAVA)を破ることはありませんが
Scanner reader = new Scanner(System.in);
while (true) {
System.out.print("Type a word: ");
String word = reader.next();
if (word.isEmpty()) {
break;
}
}
私はbreak;
if
文の中で、それはまだ私は空白の文字列に入力した後も実行されることを持っているにもかかわらず。私は何が欠けていますか?
あなたのリーダーはどこに宣言され割り当てられていますか? – MetaColon
まず、デバッグする方法を学んでください。 – maszter
'Scanner :: next'はスキャナから次の* complete *トークンを返します。 *完全な*トークンの前に、デリミタパターンに一致する入力が続きます。基本的に、 'Scanner :: next'は_complete_トークンを取得するまで待機します。現在、 'Scanner :: next'は入力のスキャンを待っている間ブロックされています。したがって、 'if'ステートメントには決して行きません。 'if'ステートメントの前後で単純な' println'を実行すれば、この動作に気付くでしょう。 –