Вопрос: Почему программа конфликтует без вычитания единицы?
for (int i = 0; i < ChArray.length; i++) {
ChArray[i] = console.nextInt();
}
for (int i = ChArray.length - 1; i >= 0; i--) {
resultArray = ChArray;
System.out.println(resultArray[i]);
}
Владимир
6 уровень
В чем проблема?
Решен
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Daniil
9 августа 2022, 03:12
Если предположить, что массив ChArray равен 5 элементам:
Вызов метода length вернет результат -> 5, так как элементов в массиве 5, но при обращение к массиву элементы в нем считаются с нуля, то есть:
ChArray[0], ChArray[1], ChArray[2], ChArray[3], ChArray[4], если запустить цикл без -1, то первая итерация цикла будет ChArray[5], что вызовет ошибку ArrayIndexOutOfBounds так как элемента с таким индексом нет.
+1