2017-12-08 8 views
-7

私が間違っていない場合、このコードは100以下のすべての偶数を出力します。このコードを実行すると何も起こりません。エラーメッセージや何もありません。私はEclipseを使用しています。Javaコードが実行されていません

public class Even { 

    public static void main(String args[]) { 

     int number = 1; 
     int remainder = number % 2; 

     while(number <= 100) { 
      number++; 
      if(remainder == 0) { 
       System.out.println(number); 
      } 
     } 

    } 

} 
+7

'remainder'は決して変更を必要としません。 – tkausl

+1

'int remainder = number%2;'ループの前に 'remainder'の値は1であり、その後は決して変化しません。 printステートメントは決して実行されません。 – janos

+4

私は驚いていません。 'remainder'は1で、1のままです... –

答えて

1

前述したように、remainderの値は1回だけ設定されます。しかし、あなたは毎回別のことを教えてくれることを期待して100回確認します。私はそれをループの中に入れておくことをお勧めしますので、すべてnumberの "新鮮な"値が得られます。

public class Even { 

public static void main(String args[]) { 

    int number = 1; 
    int remainder; 

    while(number <= 100) { 
     number++; 
     remainder = number % 2; 
     if(remainder == 0) { 
      System.out.println(number); 
     } 
    } 

} 

} 
1

割り当てがループの前にあるので、リマインダーは変更されません。ステートメントint remainder = number%2;期待される結果を見るためにループ中になければならない。

1
for(int i = 0;i<=100; i= i+2) 
     System.out.println(i); 

あなたは残りの部分:)