Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/19: Рейтинг темы: голосов - 19, средняя оценка - 4.68
 Аватар для waip
7 / 7 / 1
Регистрация: 27.05.2011
Сообщений: 297

Определение количетсва вхождений

05.02.2013, 15:24. Показов 3577. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Застрял на одном задании. Я уже где-то писал о нем, но через поиск не могу найти.
Вопрос следущего плана

Определить количество вхождений некоторой подстроки в заданную строку.
Я так понимаю это задание делается так.

Введите строку 1: 12345
Введите поиск: 123

Что должна делать программа: делает перебор таким образом
12345 // исходная строка
123 //строка поиск
123 //отрезано через сабстринг для чекапа на каунтер
234 //отрезано через сабстринг для чекапа на каунтер
345 //отрезано через сабстринг для чекапа на каунтер

Отрезалку сделал вот так
System.out.println(s1.substring(0, l2));
где s1- строка которую ввели в первую очередь. потом идет отрезалка от 0 элемента строки до элемента л2 который равен длинне строке поиска.
Т.е если написать такой код
Java
1
2
3
4
5
System.out.println(s1.substring(0, l2));
 
System.out.println(s1.substring(1, l2+1));
 
System.out.println(s1.substring(2, l2+2));
то он выведет именно так
12345 --ввод строки 1
123 -- ввод строки 2
123
234
345
В принципе технология выработана. Теперь осталось автоматизировать.
Нам подходит какраз таки цикл и независимая проверка и независимая отрезалочка сабстринг
Java
1
2
3
4
5
6
7
//          for (int i=0; i<s1.length();i++){
//          if(s2.equals(s1.substring(i,l2+i))){
//              
//           counter ++;
//          }
//          }
//       System.out.println("Вхождений "+counter+" раз!");
Как только делаю ввод получаю привет от исключения
Exception in thread "main" java.lang.StringIndexOutOfBoundsExceptio n: String index out of range: 6
at java.lang.String.substring(String.java:1 955)
at javaapplication75.JavaApplication75.main (JavaApplication75.java:31)
Java Result: 1
Наверно разумно было бы использовать массив. Но я не могу найти хорошую статью + читая книгу я начинаю путать массивы с Arrays и ArrayList.
Дорогие друзья! Помогите кто чем может
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.02.2013, 15:24
Ответы с готовыми решениями:

Определение количества вхождений числа в матрице
и снова здравствуйте) помогите решить задачу: найти количество вхождений заданного числа в массив. Подсчет надо выполнить для троих...

Определение количества вхождений ключевого запроса в тексте
В блоге seoadd несколько постовых на тему «Определение количества вхождений ключевого запроса в текст». Решил переработать материал и...

Максимально быстрое определение количество вхождений подстроки в строку
Добрый день! Необходимо максимально быстро подсчитывать количество пробелов в строке. Написал такой код: using System; using...

5
любитель покушать
 Аватар для Севак
687 / 641 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
05.02.2013, 16:37
waip, вот
0
 Аватар для waip
7 / 7 / 1
Регистрация: 27.05.2011
Сообщений: 297
05.02.2013, 16:44  [ТС]
Неееее. у меня задание чуток другое.
0
 Аватар для Drygba
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
05.02.2013, 18:45
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.util.Scanner;
 
/**
 * @author Drygba
 *         Date: 05.02.13
 */
public class InCharToWord{
    public static void main(String[] arg){
        Scanner sc = new Scanner(System.in);
        StringBuffer sb = new StringBuffer();
        System.out.println("Введите стоку");
        sb.append(sc.nextLine());
        System.out.println("Введите подстроку");
        String str = sc.nextLine();
        int count = 0;
        while (sb.toString().contains(str)){
            count++;
            int start = sb.indexOf(str);
            int end = start+str.length();
            sb.delete(start, end);
        }
        System.out.println("Вхождений " + count);
    }
}
3
0 / 0 / 0
Регистрация: 15.04.2014
Сообщений: 5
28.07.2014, 12:39
Drygba, спасибо! А в этом коде без StringBuffer никак не обойтись? Например если мне нужно посчитать не набор символов, а только лишь конкретную букву в строке.
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
28.07.2014, 12:48
Java
1
2
3
4
5
6
        String chto = "123";
        String gde = "1234567 ololo 12 123 321 atata 1 2 3";
        int l = gde.length();
        gde = gde.replaceAll(chto, "");
        int q = (l - gde.length()) / chto.length();
        System.out.println("количество вхождений: " + q);
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.07.2014, 12:48
Помогаю со студенческими работами здесь

Определение количества вхождений заданного символа в заданной строке
помогите разобраться с этим заданием. Нужно дополнить код функциями, чтобы выполнялась задача: определение количества заданного символа в...

Высокопроизводительные таблицы для отображение большого количетсва данных
Доброго времени суток. Честно говоря, не думал, что буду писать этот вопрос, поскольку пришел с удобного мне мира Qt где есть превосходная...

В массиве найти количество вхождений числа X, индексы первого и последнего вхождений
A-массив целых чисел, состоящий из элементов,выбранных случайным образом из диапазона X- целое число из диапазона . вводится...

Подсчитать количество вхождений слова «мама» в строку и вывести номера первых позиций этих вхождений
Помогите исправить ошибку. Как вывести номера первых позиций вхождений слова мама? Подсчитать количество вхождений слова «мама» в строку...

Определить количество вхождений S3 вхождений в строку S1
Здравствуйте. Помогите, пожалуйста, решить задачу: Ввести строку S1 c помощью оператора readln. Определить ее реальную длину. В строку S2...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru