Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 06.07.2021
Сообщений: 2

String index out of range: 0

17.08.2021, 11:37. Показов 2599. Ответов 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
1566 / 739 / 321
Регистрация: 02.05.2020
Сообщений: 1,656
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__
2738 / 2047 / 507
Регистрация: 17.02.2014
Сообщений: 9,466
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__
2738 / 2047 / 507
Регистрация: 17.02.2014
Сообщений: 9,466
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
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru