Ошибка "Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4"

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4

Собственно что-то не так со вторым циклом, но что именно я упорно не могу понять уже некоторое время.

package com.company;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int length = scanner.nextInt();
        int[] array =  new int[length];
        for (int i = 0; i < length; i++) {
            array[i] = scanner.nextInt();
        }
        for (int b = 0; b < length; b++) {
            if (array[b] % 4 == 0) {
                length+=array[b];
                System.out.println(length);
            }
        }
    }
}

Суть кода, заполнить массив, затем сложить все элементы массива кратные 4.

P.s. я почитал вопросы на форуме с такой же ошибкой, но я только учусь и понимать чужой код сложнее, особенно с командами, которых я ещё не знаю.


Ответы (2 шт):

Автор решения: Niallipa

Ошибку нашла. Зачем-то меняю переменную длины в цикле, очень глупо

→ Ссылка
Автор решения: Igor
    sum = 0;
    for (int b = 0; b < length; b++) {
        if (array[b] % 4 == 0) {
            sum += array[b];
        }
    }
    System.out.println(sum);
→ Ссылка