Форум программистов, компьютерный форум, киберфорум
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. Показов 30601. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru