Я получаю исключение ArrayOutofBoundsException. Пожалуйста, пройдите код и предложите мне что-нибудь.
Это неправильный подход. Что вы делаете:
посмотрите на трассировку стека из исключения (ваша IDE покажет вам это)
посмотрите на строку в вашем коде, где в трассировке стека указано исключение
прочитайте сообщение об ошибке, чтобы узнать значение индекса
выясните, как могло возникнуть это значение индекса, прочитав предыдущий код
если вы не можете понять это из чтения кода, используйте отладчик IDE для пошагового выполнения программы и наблюдайте , что представляют собой значения переменных / объектов и как они изменяются.
Если вы опубликовали трассировку стека исключений, мы, вероятно, могли бы выяснить это для вас Фактически, если кто-то был готов потратить некоторое время, он мог бы возможно выяснить это без трассировки стека.
Но это побеждает цель этого как учебное упражнение для вас . Вам нужно научиться делать такие вещи самостоятельно ... делая это самостоятельно.
Оригинальная версия вашего вопроса сказала это:
Согласно моей IDE, я получаю исключение ArrayOutofBoundsException
Я предположил, что поскольку ваша IDE сообщает вам, что вы получаете исключение, также покажет сообщение об исключении и (если вы нажмете на него или что-то еще) трассировку стека исключений. Конечно, моя IDE способна сделать это.
Если это не так, простой альтернативой является размещение блока try / catch вокруг всего тела main
следующим образом.
public static void main(String[] args) throws Exception {
try {
// existing main body
...
} catch (Exception ex) {
ex.printStackTrace();
throw ex; // or leave this out.
}
}