ArrayIndexOutOfBoundsException – это исключение, появляющееся во время выполнения. Оно возникает тогда, когда мы пытаемся обратиться к элементу массива по отрицательному или превышающему размер массива индексу. Давайте посмотрим на примеры, когда получается ArrayIndexOutOfBoundsException в программе на Java.

Попробуйте выполнить такой код:
Вы увидите ошибку:
Что здесь произошло? Ошибка в строке 27 – мы вызвали метод deposit(), а в нем уже, в строке 22 – попытались внести в поле массива значение «deposit». Почему выкинуло исключение? Дело в том, что мы инициализировали массив размера 11 (number = 11), н опопытались обратиться к 12-му элементу. Нумерация элементов массива начинается с нуля. Так что здесь надо сделать, например, так
Но вообще, это плохой код, так писать не надо. Давайте рассмотрим еще один пример возникновения ошибки ArrayIndexOutOfBoundsException:
Здесь массив заполняется случайными значениями. При выполнении IntelliJ IDEA выдаст ошибку
Код выдает ошибку
Exception in thread «main» java.lang.ArrayIndexOutOfBoundsException:0 at mass.Uporyadoc.main(Uporyadoc.java:34)
2 ответа 2
Вы создаете массив длиной 0 . Потом, считываете с консоли число в переменную n :
Но массив-то к этому моменту уже создан. Дальнейшее итерирование по массиву сразу выходит за пределы массива.
Кроме того, метод sort() не будет работать так, как вы ожидаете.
Новичок в Java, да и в программировании в целом. Скорей всего ошибка в цикле, но где точно я так и не понял. Заранее спасибо за помощь.
Написать код, который переворачивает массив: <1,2,3,7>>
То, что выводит консоль после компиляции:
4 ответа 4
тут не нужни минусовать каждый раз, сделайте не равно
P.S. Я бы советовал Вам проверить работы алгоритма на массивах нечётной длинны – PetSerAl
Так как при нечетной длине элемент по середине остается на месте, можно его не трогать

Массив идет от 0 до 3. Вы же здесь обращаетесь в первой итерации к 4ой ячейке.
Надо исправить на:

Вы получаете ошибку ArrayIndexOutOfBoundsException: 4 — это значит, что у вас выход за пределы массива, значение индекса равно 4 (при том что в массиве есть только индексы [0-3] — первый индекс имеет значение 0), то есть не существует элемента массива с таким индексом, к которому вы пытаетесь обратиться.
Всё ещё ищете ответ? Посмотрите другие вопросы с метками java массивы или задайте свой вопрос.
Похожие
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
дизайн сайта / логотип © 2019 Stack Exchange Inc; пользовательское содержимое попадает под действие лицензии cc by-sa 4.0 с указанием ссылки на источник. rev 2019.11.15.35459