2016-08-31 3 views
0
import java.util.Scanner; 
import static java.lang.System.out; 

public class TestingStuf2 { 

    public static void main(String[] args) { 
     Scanner keyboard = new Scanner(System.in); 

      out.println("Enter a number"); 

      int number = keyboard.nextInt(); 

     while (number < 10) { 
      if (number < 10) { 
       out.println("This number is too small."); 
       keyboard.nextInt(); 
      }else{ 
       out.println("This number is big enough."); 
      }  
     } 
     keyboard.close(); 
    } 

} 

私はこのコードをループしているだけです。私はこれらのループがずっと私を混乱させていたJavaを学び始めました。このプログラムを実行すると、10未満の数字を入力すると「この数字は小さすぎる」というメッセージが表示され、もう一度入力することができますが、10を超える数字を入力するとJavaプログラムでループを動作させるにはどうすればよいですか?

+1

あなたはどのような行動を取るのかを説明しました。それはあなたの予想とどのように違うのですか? – Blorgbeard

+0

あなたは何が起こるかについてもっと明確にします。書いたように、あなたの質問に答えるのはかなり難しいです。 – nhouser9

答えて

3

私はあなたがnumber変数を再割り当てするのを忘れたと思います。それは私が入力した最初の数字が10より大きい場合、全くメッセージが表示されません。理由

しかし、私は、私は同じ メッセージを取得する10より大きい数値を入力した場合。

下記のコードを試してください。 @ Dev.Joelのコメントに感謝します。私はループをdo-whileに変更して、ケースに合わせて改善しました。

import java.util.Scanner; 
import static java.lang.System.out; 

public class TestingStuf2 { 

    public static void main(String[] args) { 
     Scanner keyboard = new Scanner(System.in); 

      out.println("Enter a number"); 

      int number = keyboard.nextInt(); 

     do{ 
      if (number < 10) { 
       out.println("This number is too small."); 
       /* 
       * You should reassign number here 
       */ 
       number = keyboard.nextInt(); 
      }else{ 
       out.println("This number is big enough."); 
      }  
     }while(number < 10); 
     keyboard.close(); 
    } 

} 

問題をデバッグするのに、break pointを使用することをお勧めします。あなたの場合、たとえば、numberに2を割り当て、「この数値は小さすぎます」と表示されます。次に、keyboard.nextInt()を使用して、ユーザーが別のintを入力できるようにします。ただし、数値はまだ2です。したがって、入力した内容に関係なく条件number < 10が真であり、"This number is too small"が再度印刷されます。

+1

あなたが高い数字を入力した場合は、最初に入力しないでください。 –

+0

@ Dev.Joelありがとうございます。私は答えを編集します。 – Gearon

関連する問題