Как обратится внутрь блока цикла? Sum не видит sum внутри блока цикла

Рейтинг: 0Ответов: 1Опубликовано: 05.03.2023
for (int j = 0; j < 14; j = j + 2) {                      // сумма четных индексов
    int sum = 0;
    sum = sum + array[j];
} 
System.out.println("Chet =" + sum);

            {
for (int i = 1; i < 14; i = i + 2) {
    int sum = 0;
    sum = sum + array[i];
}
System.out.println("Nechet =" + sum);

Ответы

▲ 0

Сделай инициализацию переменной int sum = 0; выше цикла. И, если я правильно понял, что твой массив из 15 элементов, небольшой совет, в условии цикла вместо j < 14 используй j < array.length. И тоже для второго цикла.

Ошибка в том, что int sum = 0; внутри цикла на каждой его итерации обнуляется. Поэтому инициализируй переменную в области видимости выше уровнем.

array.length - возвращает количество элементов массива.

UPD: Для второго цикла либо снова обнули переменную использовав sum = 0; перед вторым циклом, либо используй другую.