2011-10-24 4 views
0

ユーザーが入力したフレーズに2単語以上が含まれているかどうかを調べようとしています。そうでない場合は、2語以上入力するまでフレーズを入力してください。文字列に2つ以上の単語があるかどうかを確認しようとしています

これまでのコードです:2単語を入力したかどうかを検出し、2単語を最初に入力しないかどうかを検出しますが、プログラムは終了しました。

private static void stringfunctions() { 
    String phrase; 
    int count = 0; 
    Scanner input = new Scanner(System.in); 

    while (count < 2) { 
     System.out.println("Please enter a multiple word phrase: "); 
     phrase = input.nextLine(); 
     String[] arrPhrase = phrase.split(" "); 
     for (int i = 0; i < arrPhrase.length; i++) { 
      if (arrPhrase[i].equals(" ")) { 
      } else { 
       count++; 
      } 
     } 

    } 
+0

これは宿題としてタグ付けする必要がありますか? – Marvo

+0

宿題のように聞こえるので、ここにヒントがあります:入力に別の方法で少なくとも2つの単語があるかどうかを判断するロジックを作成します。それはそれを使いやすくします。また、これは、タブ文字のようなものを無視するだけでなく、複数のスペースに対して偽陽性を順番に与える可能性があることに留意してください。あなたは正規表現を調べて、それらと一緒に遊んで、あなたのcriteriumを検出する正規表現を考え出すことができるかどうかを見たいかもしれません。 –

+0

あなたは、複数の空白文字で分割できるように正規表現を見たいと思うでしょう。その時点では、カウントを行う必要はありません。配列のサイズから単語数を検出できるだけです(ループを制御するにはboolean変数を使用するべきです - 'inputTwoWords'など)。また、ユーザーが2回目に何かを入力して、何かを入力しなければならない理由について考えてみてください。 –

答えて

1

これは宿題なので、私はあなたに答えを与えるつもりはありませんが、ループを通過するときにcountの値を注意深く監視します。

+0

ありがとう、私は直接の答えを期待していなかった – MJ93

3

テスト後のリセットカウント。問題はwhileループがカウントを通過するとすぐに終了する2

関連する問題