Java-хранение символов строки в массиве


    for (int j = 0; j <= l - 1; j++) 
   { char c1 = str.charAt(j);
      n[j] = c1;
   }
//It is showing error-arrayIndexoutofbounds

Ул. является введенной строки и 'L' - длина строки STR. Я должен хранить все его символы в массиве, а массив ' n ' имеет тип char Я попытался сохранить его по циклу, но его ошибка показа . Пожалуйста, помогите мне. Просто удалите, что равный знак в цикле ur будет только меньше, чем

3 2

3 ответа:

Ваш массив n должен быть объявлен как:

char[] n = new char[str.length()];

, который создает массив с точным размером, необходимым для размещения в нем всех ваших символов String.

Выбрасывается ArrayIndexOutOfBoundsException, Когда вы обращаетесь к незаконному индексу массива, в этом случае я подозреваю, что Ваш массив меньше, чем длина String.

Нет необходимости создавать и заполнять такой массив вручную, есть встроенный метод String.toCharArray это делает работу за вас:

n = str.toCharArray()

Если вы хотите преобразовать строку в символьный массив, то класс string уже имеет метод toCharArray().

String str = "StackOverflow";
char[] charArray = str.toCharArray();

Затем, если вы хотите проверить содержимое массива, распечатайте его.

for(int i = 0;i < charArray.length ; i++) {
     System.out.print(" " + charArray[i]);
}