Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/34: Рейтинг темы: голосов - 34, средняя оценка - 4.76
 Аватар для ComiX
0 / 0 / 0
Регистрация: 01.10.2010
Сообщений: 29

Найти и удалить в строке одинаковые элементы, идущие друг за другом

28.05.2015, 20:42. Показов 7190. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание - "Разработать программу, которая вводит текст, заменяет в нем стоящие подряд одинаковые символы одним символом и подсчитывает количество таких замен". Долго сидел и написал что-то невразумительное, что никак не хочет работать.
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package beginning;
 
import java.util.Scanner;
 
public class laba2 {
 
    public static void main(String[] args) {
        int i, k, m, c, l;
        m=0;
        k=0;
        l=0;
        String s = new String();
        System.out.println("Введите текст");
        Scanner scan = new Scanner(System.in);
        s = scan.next();                                                            //ввод текста
        StringBuffer s_buffer = new StringBuffer(s.subSequence(0, s.length()));
        c=s.length()-1;
        for (i = 0; i < c; i++){                                                   
            if (s_buffer.charAt(i)==s_buffer.charAt(i+1)) {            //поиск повторений
                l=i;                                                              //индекс начального символа повторений
                m=0;                                                           
                while (s_buffer.charAt(i)==s_buffer.charAt(i+1)) {
                    i=i+1;
                    
                    m=m+1;                                                //индекс конечного символа
                }
                for (i = l; i < m; i++) { 
                        s_buffer.deleteCharAt(i);                          //удаление повторов
                }
                k=k+1;
            
            }
        }
            
        System.out.println(s_buffer);
                System.out.println(k);
    }
}
Код просто не работает, т.е. ничего не заменяет и выводит исходный текст. Помогоите разобраться, пожалуйста.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.05.2015, 20:42
Ответы с готовыми решениями:

Найти в массиве одинаковые элементы и удалить все, кроме одного
Добрый вечер, допустим есть массив (1, 1, 2, 2, 3, 4, 5) с такими значениями. Как написать алгоритм чтобы после работы алгоритма массив...

Регулярные выражения: найти одинаковые слова, идущие друг за другом
Нужно найти одинаковые слова идущие друг за другом(например для для ) if...

Сколько существует чисел от 0 до 10^n, в которые не входят две подряд идущие друг за другом одинаковые цифры?
Сколько существует чисел от 0 до {10}^{n}, в которые не входят две подряд идущие друг за другом одинаковые цифры?

2
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
28.05.2015, 21:21
намудрил ты там короче с циклами, вот так попробуй:
Java
1
2
3
4
5
6
7
8
9
10
c=s.length()-1; 
        i=0;
        while (i<c) {
            if (s_buffer.charAt(i)==s_buffer.charAt(i+1)) {
                s_buffer.deleteCharAt(i+1);
                i=-1; c=c-1;
                k++;
            }
            i++;
        }
1
 Аватар для ComiX
0 / 0 / 0
Регистрация: 01.10.2010
Сообщений: 29
28.05.2015, 22:09  [ТС]
Welemir1, Дада, работает, спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.05.2015, 22:09
Помогаю со студенческими работами здесь

Найти и удалить одинаковые подряд идущие одинаковые цифры в матрице
Здравствуйте. Помогите мне пожалуйста в работе с двумерным массивом. Мне нужно найти и удалить одинаковые (3 и более) подряд идущие...

Удалить подряд идущие одинаковые символы в строке
Еслм в строке имеются подряд идущие одинаковые символы, то изменить строку, оставив только один из таких сиволов. Посмотрите, что не...

Удалить подряд идущие одинаковые символы, оставив в строке только один из таких символов
Здравствуйте, Нужно удалить подряд идущие одинаковые символы, оставив в строке только один из таких символов. Вот код: String s =...

В строке удалить все повторяющиеся слова, следующие друг за другом
Вопрос состоит в следующем. Пользователь вводит строку. В ней необходимо удалить все повторяющиеся слова,следующие друг за другом. К...

В массиве A=(a1, а2, ..., аn) удалить все подряд идущие отрицательные элементы, идущие вслед за минимальным элементом массива.
Помогите написать на паскале программу для: В массиве A=(a1, а2, ..., аn) удалить все подряд идущие отрицательные элементы, идущие вслед...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru