С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.65/145: Рейтинг темы: голосов - 145, средняя оценка - 4.65
 Аватар для Znakas
0 / 0 / 0
Регистрация: 26.03.2012
Сообщений: 7

В цикле возникает ошибка "String index out of range"

24.07.2014, 02:31. Показов 30546. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Итак, есть следующий код
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class BreakDemo {
 
    public static void main(String[] args) {
          int n = 0;
             String searchMe = "Мама мыла раму мылом";
            int max = searchMe.length();
          char symb = 'ы';
          for (int i = 0; i <= max; i++) {
         if (searchMe.charAt(i) == symb) {
                n++;
               }
             }
             if (n >= 1) {
                 System.out.print("Символ '"+symb+"' найден "+n+" раз");
     }
     }
    }
При его запуске возникает след. ошибка:
Exception in thread "main" java.lang.StringIndexOutOfBoundsExceptio n: String index out of range: 20
at java.lang.String.charAt(Unknown Source)
at BreakDemo.main(BreakDemo.java:10)
Вопрос - Почему если в 8 строке i будет i < max то код будет работать, а если i <= max, то уже ошибка?
Ведь i может быть равно максимальному количеству символов (т.е. в случае String searchMe ="ыыыыыыы" )
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.07.2014, 02:31
Ответы с готовыми решениями:

Ошибка string index out of range
Выскакивает ошибка индекса, не могу понять, в чем проблема for i in range(len(docs)): for j in range(len(docs)): ...

Ошибка string index out of range
Требуется вывести на экран вложенный список, но выдаёт ошибку. Почему? #!/usr/bin/env python3 zero = one = two = ...

Ошибка string index out of range
file_path = 'test.txt' file = open(file_path) strnew='' i=0 for line in file: for i in range(len(line)): ...

2
Кандёхаем веселее!
 Аватар для MLPMan
296 / 330 / 76
Регистрация: 02.10.2012
Сообщений: 2,175
24.07.2014, 03:05
Тут про массив, но принцип такой же
0
53 / 12 / 4
Регистрация: 20.05.2014
Сообщений: 47
24.07.2014, 07:55
Индексация массива начинается с 0, то есть максимальный индекс массива из 10 элементов = 9 (0,1,2,3,4,5,6,7,8,9).
Когда ты запрашиваешь длину строки (searchMe.length()) , тебе передается точное кол-во символов, (например те же 10), вот и получается , что обращаясь к символу строки с 10 индексом ты выходишь за границы массива.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.07.2014, 07:55
Помогаю со студенческими работами здесь

Ошибка: String index out of range
Выходит ошибка string index out of range n=int(input()) k=0 q=0 l='' for i in range(1,n+1): k= if l&gt;l: ...

Шифр цезаря ошибка IndexError: string index out of range
Шаг 4 Сообщение Знання багато місця не займає alfavit = 'АБВГҐДЕЄЖЗИІЇЙКЛМНОПРСТУФХЦЧШЩЬЮЯ' # Створюємо алфавіт smeshenie =...

Ошибка "String index out of range"
Всем добрый вечер ! В скл девелопере запрос отрабатывается и все ок, когда хочу вкатать запрос в систему и сохранить его, возникают...

String index out of range: -1
Доброе утро! У меня есть функция, преобразующая строку в map (тема Парсинг строки ) Сейчас она выглядит так: //функция,...

String index out of range: 0
import java.util.Scanner; class MyProgram { public static void main(String args) { Scanner sc = new...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru