2016-12-01 4 views
-2

このエクササイズでは、私はひどく助けが必要です。 私はJavaの初心者です。誰かが私を助けてくれることを願っています。ここ の質問です:WhileループでのJavaエクササイズ

7.表示 合計と平均で割り切れる1から100まで、それらの 数字を合計するSumOfSevenと呼ばれるプログラムを書きます。 "while-loop"を使用して に答えてください。ここ

とは、私の答えです:

public class Practice { 
    public static void main(String[] args) { 

     int counter = 1; 
     int sum = 0; 

     while (counter<=100){ 
      while (counter % 7 ==0){ 
       sum+= counter; 
      } 

      counter++; 
     } 
     System.out.println("The sum is: " + sum); 
    } 
} 

私は私の答えを実行しようとしたが、ソフトウェアがロードに保管し、任意の答えが表示されませんでした。

public class SumOfSeven { 
    public static void main(String[] args) { 

     int sum = 0; 
     int counter = 0; 

     while (counter<=100){ 
      sum+= counter; 
      counter+=7; 
     } 
     System.out.println("The sum is: " + sum); 
    } 
} 

私は、最初のコードが動作しなかった理由を知りたがっていますが、私はこのコードを使ってプログラムを正常に実行できました。

よろしく、

フェイ

+0

に(カウンタ%7 == 0) '無限ループである一方で、'は、 'if'ブロック内に' 'カウンターを置く++、また、ここでは' if'のcondtion –

答えて

1

あなたの内側のループが無限である間(ときcounter % 7 == 0、カウンタが7に達したときに、whileループの外側の第七の反復で真である)と無意味、あなた以来のみ

while (counter<=100){ 
    if (counter % 7 ==0) { 
     sum+= counter; 
    } 

    counter++; 
} 
:それは、if文で置き換える必要があります7.

で割り切れるときsum 1時間にcounterを追加します

+0

を必要としています。あなたは7で割り切れる値だけを数える必要があります – AhmadWabbi

+0

ありがとう、ありがとう。 –

+0

内部ループが無限であることを知らなかった。内側のループは<= 100までしか実行できないと思いました。おかげさまでEran! –

1

変更while(counter % 7 == 0)if(counter % 7 == 0)