0 / 0 / 0
Регистрация: 06.07.2021
Сообщений: 2

String index out of range: 0

17.08.2021, 11:37. Показов 2647. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import java.util.Scanner;
 
class MyProgram {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        char letter1 = sc.next().charAt(0);
        char letter2 = sc.next().charAt(0);
        String str = sc.nextLine();
        String[] words = str.split(" ");
        for(int i = 0; i < words.length; i++) {
           if(words[i].charAt(0) >= letter1 && words[i].charAt(0) <= letter2) System.out.print(words[i]);
        }
    }
}
На вход подаётся строка с двумя буквами, а затем - строка, состоящая из слов. Выведите на печать все слова, которые начинаются на буквы, идущие по алфавиту между буквами с первой строки (включительно). Вывести слова необходимо в том же порядке, в котором они подаются на вход.

Подскажите пожалуйста, почему выдает ошибку и как ее исправить
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.08.2021, 11:37
Ответы с готовыми решениями:

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

В цикле возникает ошибка "String index out of range"
Итак, есть следующий код public class BreakDemo { public static void main(String args) { int n = 0; String...

Ошибка: Index out of range
Что не так с кодом? Есть таблица: try{ statm.execute(&quot;CREATE TABLE `player` (`id_player` INT(11) NOT NULL AUTO_INCREMENT,...

9
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
17.08.2021, 11:52
включи дебаггер и посмотри? Обычно еще в stacktrace написано в какой строке ошибка
0
1 / 1 / 0
Регистрация: 12.11.2018
Сообщений: 14
17.08.2021, 14:35
Обрати внимание на ошибку. В ней обычно содержится причина ошибки. У тебя там сказано, что твой индекс вне диапазона. Где ты в коде используешь индексы? Вот внимательно посмотри на них и сравни значения которые ты получаешь и которые должен получить.
0
 Аватар для kapbepucm
1568 / 741 / 321
Регистрация: 02.05.2020
Сообщений: 1,660
17.08.2021, 15:31
Java
1
2
3
4
5
6
7
8
9
10
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        char letter1 = str.charAt(0);
        char letter2 = str.charAt(1);
        str = sc.nextLine();
        String[] words = str.split(" ");
        for(int i = 0; i < words.length; i++) {
            if (words[i].length() > 0 && words[i].charAt(0) >= letter1 && words[i].charAt(0) <= letter2)
                System.out.print(words[i] + " ");
        }
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
17.08.2021, 16:16
Java
1
2
3
4
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        Matcher m = Pattern.compile(String.format("\\b[%c-%c]\\w*", str.charAt(0), str.charAt(1))).matcher(sc.nextLine());
        while (m.find()) System.out.print(m.group() + " ");
2
17.08.2021, 18:37

Не по теме:

Цитата Сообщение от tinity Посмотреть сообщение
Обрати внимание на ошибку. В ней обычно содержится причина ошибки.
- прекрасная формулировка!!!

0
0 / 0 / 0
Регистрация: 06.07.2021
Сообщений: 2
19.08.2021, 07:24  [ТС]
Цитата Сообщение от tinity Посмотреть сообщение
У тебя там сказано, что твой индекс вне диапазона
Я просто не смог найти, какой именно индекс. Мне казалось, что обе буквы типа char нужно получать через sc.next().charAt(0);
0
 Аватар для Aviz__
2759 / 2066 / 509
Регистрация: 17.02.2014
Сообщений: 9,493
19.08.2021, 08:35
Цитата Сообщение от velovatik Посмотреть сообщение
какой именно индекс
поэтому тебе сразу и сказали использовать дебагер Про отладку программ
так заработает твоя потуга:
Java
1
2
3
4
5
6
7
8
9
10
11
public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        char letter1 = sc.next().charAt(0);
        char letter2 = sc.next().charAt(0);
        sc.skip("\n");
        String str = sc.nextLine();
        String[] words = str.split(" ");
        for(int i = 0; i < words.length; i++) {
            if(words[i].charAt(0) >= letter1 && words[i].charAt(0) <= letter2) System.out.print(words[i]);
        }
    }
0
7 / 7 / 4
Регистрация: 08.01.2016
Сообщений: 50
19.08.2021, 10:57
Цитата Сообщение от Aviz__ Посмотреть сообщение
так заработает твоя потуга
У меня похожая задача, но решаю я её через while, на stepik не проходит 3 тест из 3х

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import java.util.Scanner;
 
class MyStudy {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String letter = sc.nextLine().toLowerCase();
        while (sc.hasNext()) {
            String s = sc.next();
            if (s.charAt(0) >= letter.charAt(0) && s.charAt(0) <= letter.charAt(2)) {
                System.out.println(s);
            } 
        }
    }
}
Отладку пробовал делать, не пойму в чем дело. Сканирую строчку с двумя буквами. беру 0 и второй символ, привожу их в нижний регистр и сравниваю.

P.S. Пока писал тебе сообщение понял, что если привожу в нижний регистр буквы, то тогда нужно приводить в нижний регистр и буквы слова. Спасибо=)
0
 Аватар для Aviz__
2759 / 2066 / 509
Регистрация: 17.02.2014
Сообщений: 9,493
19.08.2021, 12:43
Цитата Сообщение от Cetych Посмотреть сообщение
Пока писал тебе сообщение понял
видишь, как полезно не спешить просить помощи, а самому подумать...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.08.2021, 12:43
Помогаю со студенческими работами здесь

String index out of range
в общем переписываю код из NodeJs, очень трудно копать инфу что по python,что по Nodejs. В общем задание в заголовке, надо превратить это в...

string index out of range
s = str(input()) b = '' i=0 while i&lt;=len(s)-1: for j in range(s.count(s),0,-1): if s.find(s*j)!=-1: ...

IndexError: string index out of range
Помогите найти ошибку в коде... Traceback (most recent call last): File &quot;jailed_code&quot;, line 37, in &lt;module&gt; p =...

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

IndexError: string index out of range
a = str(input()) b = int(input()) if b &lt;= len(a): print(a) else: print(&quot;ОШИБКА&quot;) Ввод: привет -100


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: показать затраченные материалы за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В качестве. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru