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 ответа:
Ваш массив
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]); }