2014-10-18 4 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

Вы не далеки от решения , но на самом деле, вы должны понять это самостоятельно. Выполните алгоритм на бумаге и на каждой итерации спросите себя, что вы должны делать. –

+1

Несомненно, это 'array [3 * i] + array [3 * i + 1] + array [3 * i + 2]'. – EpicPandaForce

+0

, по крайней мере, дать некоторые подсказки о том, какая часть не так? –

ответ

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 ок, но не добавляя номер, который вы сбросить его (из-за вашего еще состояния.)

0

Используется для цикла за счет увеличения на 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; 
     } 
    } 

} 
Смежные вопросы