私はJavaに新しいので、私の乱雑なコードのために私を嫌ってはいけないと言いたい。キーボードに何も入力しない場合、System.out.print( "あなたの名前を入力")は繰り返されません。ループは回りますが、この文は繰り返されません。いくつかの文字を入力すると、print文が実行され、その理由がわかりません。ここには、それをより明確にするための絵があります。おそらくそれは私が作った非常に簡単な間違いですが、私はそれを見ることができません。 この問題を解決するための助けまたは手がかりをありがとう。Java:Soundexアルゴリズム
それがどのように見えるかです:
私はそれになりたい方法ですそれに:
package loop;
import java.util.Scanner;
public class while_loop
{
public static void main(String[] args)
{
String word2 = null;
boolean T_F = true;
while (T_F == true)
{
System.out.print("Enter your name:");
Scanner in = new Scanner(System.in);
word2 = in.next().toUpperCase();
if (word2 != null && word2.length() > 3)
{
in.close();
T_F = false;
System.out.println("Done");
}
}
}
}
えっOKを解決しました。小さな小さな間違い。
word2 = in.nextLine().toUpperCase();
[this](http://stackoverflow.com/a/29690553/4677585)答えを読んでください。 '\ n'で行を終了させるには' in.nextLine() 'を使います。 'in.next()'は空文字列をとらないでしょう。 – wonderbell
この質問には、soundexやあなたが投稿したほとんどのコードとは何の関係もありません。質問を編集して質問とコードを実際の問題(スキャナを使用して行を読むことについて)に絞り込みます。 – Bohemian
wonderbellありがとうございます。それが私が探していたものです。愚かな私^^ – Matt