Java: индекс строки вне диапазона: 6 - PullRequest
0 голосов
/ 08 декабря 2011

Я получаю следующую ошибку в своем коде Java:

Исключение в потоке "main" java.lang.StringIndexOutOfBoundsException: индекс строки вне диапазона: 6

... что происходит в следующей строке:

if (strFactor.charAt(j) == strProduct.charAt(k)) {

Вот код:

       for (int j=0; 0<=5; j++) {
            same = false;
            for (int k=0; k<=5; k++) {
                if (strFactor.length() == 6 && strProduct.length() == 6) {
                    if (strFactor.charAt(j) == strProduct.charAt(k)) {
                        same = true;
                    }
                }
            }
            if (!same) {
                return false;
            }
        }

У кого-нибудь есть идеи, почему индекс будет вне диапазона?

Ответы [ 4 ]

1 голос
/ 08 декабря 2011

for (int j=0; 0<=5; j++) { должно быть for (int j=0; j<=5; j++) {

1 голос
/ 08 декабря 2011

Посмотрите на первую строку вашего forloop. Строка выходит за пределы

for (int j=0; 0<=5; j++) {

Исправьте условие. Всегда будьте осторожны при кодировании! Счастливое кодирование

1 голос
/ 08 декабря 2011

Я не программист на Java, но 0<=5 всегда будет оценивать как true, поэтому j достигает 6 (и продолжил бы, если бы не это исключение).

0 голосов
/ 08 декабря 2011

Эй, чувак: твой j_for неправильный ... Это должно быть для (int j = 0; j <= 5; j ++), но ты пишешь 0 <= 5 </p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...