Member 13009523 Ответов: 3

Что это за ошибка?


[2/18/17 12: 04 PM]: java. lang.ArrayIndexOutOfBoundsException: 101
[2/18/17 12:04 ПМ]: на сервере.модель.магазины.ShopAssistant.addShopItem(ShopAssistant.Ява:637)
[2/18/17 12:04 ПМ]: на сервере.модель.магазины.ShopAssistant.sellItem(ShopAssistant. java:601)
[2/18/17 12:04 ПМ]: на сервере.модель.игроков.пакетов.BankX2.processPacket(BankX2.Ява:86)
[2/18/17 12:04 ПМ]: на сервере.модель.игроков.PacketHandler.processPacket(PacketHandler.Ява:137)
[2/18/17 12:04 ПМ]: на сервере.модель.игроков.Клиента.processQueuedPackets(клиент.Ява:1900)
[2/18/17 12:04 ПМ]: на сервере.модель.игроков.PlayerHandler.процесс(PlayerHandler.Ява:149)
[2/18/17 12: 04 PM]: на сервере.Сервер.главный(сервер.Ява:186)



Что я уже пробовал:

я новичок, поэтому не могу сказать вам, что я пробовал.

NotPolitcallyCorrect

Это означает, что вы пытаетесь получить доступ к элементу массива, который не существует.

3 Ответов

Рейтинг:
1

Patrice T

Цитата:
ArrayIndexOutOfBoundsException

Читается как " исключение индекса массива за пределами границ"
Это означает, что массив размером "скажем" 10 и вы пытаетесь получить доступ к элементу 12 или -2.

Используйте отладчик, чтобы увидеть, что происходит в вашем коде.

Когда вы не понимаете, что делает ваш код или почему он делает то, что делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволяет вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения, это невероятный инструмент обучения.

Отладчик-Википедия, свободная энциклопедия[^]
http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdb.html[^]
https://www.jetbrains.com/idea/help/debugging-your-first-java-application.html[^]

Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.


Рейтинг:
0

Peter Leow

Чтобы избежать такой ошибки, помните:
1. индексы начинаются с нуля;
2. таким образом, индекс последнего элемента всегда на единицу меньше размера массива;
3. Если у вас есть массив, чтобы получить размер этого массива, используйте

array.length
вместо жестко закодированного номера.
Учить [^]


Рейтинг:
0

ThilinaMD

java.lang.ArrayIndexOutOfBoundsException
это вызвано тем, что вы собираетесь получить доступ к индексу массива, который больше длины массива.

например: длина массива=10, последний индекс массива=9 [это связано с тем, что индекс начинается с 0(нуля)], поэтому, если вы обращаетесь к 10-му индексу, вызовет исключение array index out of bound.