как избавиться от ошибки ArrayIndexOutOfBound Exception? [Дубликат]

1

public class Main {

public static void main(String[] args) {

    int[] numbers = {1, 2, 3}; // it gives me arrayindexoutofboundexception

    int length = numbers[3];

    char[] chars = new char[length];

    chars[numbers.length + 4] = 'y';

    System.out.println("Done!");
}

}

Как удалить индекс массива из связанного исключения.

Теги:
exception

2 ответа

4
Лучший ответ

Не обращайтесь к numbers[3]; когда ваш массив имеет только 3 элемента, индексы которых равны 0, 1 и 2.

Также не chars[numbers.length + 4] к chars[numbers.length + 4] прежде чем убедиться, что это допустимый индекс массива chars.

  • 0
    Большое спасибо, это помогло. Что если я попытаюсь поймать исключение, то оно будет скомпилировано без исключения, но нет вывода, вы можете объяснить, спасибо?
  • 0
    @KedarKholiya Не поймите исключение. Вы должны избегать этого в первую очередь.
0

Изменить:

int length = numbers[3]; 

Для того, чтобы:

int length = numbers[2];
  • 0
    сделано, но не помогло. ошибка во время выполнения
  • 0
    @KedarKholiya - Проверьте ответ Эрана . Строка chars[numbers.length + 4] = 'y'; самоубийственный
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню