2013-07-29 3 views
-2

Я получаю это исключение на ниже кодjava.lang.StringIndexOutOfBoundsException: индекс строки из диапазона: -2

nIndex=nIndex + strWord.length(); 
nIndex = strHindiTextInUpperCase.indexOf(strWord, nIndex); 
character=strHindiTextInUpperCase.charAt(nIndex-1); 

Я получаю исключение на этот код, как String index out of range: -2
на линии символа = strHindiTextInUpperCase. Шара (nIndex-1);

этот код также является новым для меня.so, пожалуйста, помогите мне, как решить эту проблему.

+0

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

+0

Какая из трех строк дает эту ошибку? Какова ценность 'strHindiTextInUpperCase'? Waht - значение 'strWord'? –

+0

character = strHindiTextInUpperCase.charAt (nIndex-1); что это значит ??? Может ли кто-нибудь объяснить мне. – user2469963

ответ

7

Если не найдено strWord, strHindiTextInUpperCase.indexOf(strWord, nIndex); возвращает -1.

Затем strHindiTextInUpperCase.charAt(nIndex-1); будет смотреть на индекс -2.

-1

Указатель за пределами допустимого диапазона, потому что U пытается получить доступ к символу, находящемуся за пределами диапазона. Пожалуйста, проверьте длину строки и попытайтесь получить доступ в диапазоне 0> = диапазон < (strlen-1)

Смежные вопросы