2014-10-18 53 views
0

我目前正在學習java數組。有什麼辦法我可以遍歷大小9 的數組並執行以下操作將數組元素3加起來3

sum1 = array[0] + array[1] + array[2] 
sum2 = array[3] + array[4] + array[5] 
sum3 = array[6] + array[7] + array[8] 

我試過,但我不能達到我期望的輸出。

public class Sum { 
    public static void main(String[] args) { 
     int array[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; 
     int sum = 0; 
     for (int i = 0; i < array.length; i++) { 
      // if it's divisible by 3, reset the sum to 0 
      if (i > 1 && i % 3 == 0) { 
       sum = 0; 
      } 
      else { 
       sum += array[i]; 
       System.out.println(sum); 
      } 
     } 
    } 
} 
+3

多你不遠處的一個解決方案,但是真的,你應該自己解決這個問題。在紙上執行算法,並在每次迭代時問自己應該做什麼。 – 2014-10-18 12:02:27

+1

當然,這是'數組[3 * i] +數組[3 * i + 1] +數組[3 * i + 2]'。 – EpicPandaForce 2014-10-18 12:03:03

+0

至少給出一些提示哪些部分是錯誤的? – 2014-10-18 12:03:36

回答

1

可以使用

for (int i = 0; i < array.length; i++) { 
    sum += array[i]; 
    if (i > 0 && (i + 1) % 3 == 0) { 
     System.out.println(sum); 
     sum = 0; 
    } 
} 
0

你的總和重置爲0 OK,但後來不加入,你已經重置的數量(因爲你else條件。)

0

使用for循環由3增加,知道數組的長度是3

public class Sum { 

    public static void main(String[] args) { 

     int array[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; 
     int sum = 0; 
     for (int i = 0; i < array.length; i+=3) {  // increase i by 3 
      sum += array[i] + array[i+1] + array[i+2]; 
      System.out.println(sum); 
      sum=0; 
     } 
    } 

}