2016-12-01 91 views
-2

我急需此練習的幫助。 我是Java的新手,我希望有人能幫助我。 這裏的問題:在while循環中的Java練習

編寫一個名爲SumOfSeven程序,從1到100這是7.顯示 總和,平均分割總結這些 數字。使用「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' condtion這裏 –

回答

1

你內心的,而循環是無限的(當counter % 7 == 0,這是在外層while循環,當計數器達到7第七屆迭代真)和毫無意義的,因爲你只要添加countersum一次當它是由7

整除應該由if語句來代替:

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

    counter++; 
} 
+0

另外,把'計數器++'了'if'塊內。你只需要計算可以被7 – AhmadWabbi

+0

整除的值。明白了,謝謝。 –

+0

不知道內部循環是無限的。我認爲內循環只會執行到<= 100。再次感謝伊蘭! –

1

變化while(counter % 7 == 0)if(counter % 7 == 0)