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

Отсортировать слова в тексте по убыванию количества вхождений заданного символа

08.05.2017, 15:59. Показов 6073. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, помогите пожалуйста сделать лабораторную. Пол дня сидела над этим заданием и все никак(

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

Буду очень благодарна за помощь.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.05.2017, 15:59
Ответы с готовыми решениями:

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

Отсортировать слова в этом тексте по убыванию количества символов
Пользователь вводит с клавиатуры текст. Необходимо отсортировать слова в этом тексте по убыванию...

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

В тексте все слова разделены пробелами. Есть ли слова, начинающиеся с заданного символа?
,,,

3
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
08.05.2017, 19:04 2
Java
1
2
3
4
final char toFind = 'a';
        List<String> sorted = Arrays.stream(s.split("\\W+"))
                .sorted(comparingInt((String word) -> countMatches(word, toFind)).reversed().thenComparing(naturalOrder()))
                .collect(toList());
2
0 / 0 / 2
Регистрация: 03.05.2017
Сообщений: 6
08.05.2017, 22:36 3
чтоб работало с кириллицей и упорядочивало без учета регистра, можно модифицировать код так:

Java
1
2
3
4
List<String> sorted = Arrays.stream(s.replaceAll("[()'\\[\\],.:;?!@#$%^&*\\-+/<>~"]", " ")
                .split("\\s* \\s*"))
                .sorted(comparingInt((String word) -> charactersCounter(word, toFind)).reversed().thenComparing(String.CASE_INSENSITIVE_ORDER))
                .collect(toList());
п.с.: моя реализация "в лоб" заняла 90 строк а оказалось, что можно вот так просто.
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
08.05.2017, 23:54 4
Цитата Сообщение от protokot Посмотреть сообщение
чтоб работало с кириллицей
replaceAll не нужен, сплитай по \P{L}+
1
08.05.2017, 23:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.05.2017, 23:54
Помогаю со студенческими работами здесь

Подсчет количества вхождений заданного слова в строку, являющуюся значением переменной
Добрый день! Подскажите как решить такую задачу: Имеется строка в переменной вида:...

Отсортировать слова заданного текста по возростанию количества гласных букв
Помогите пожалуиста написать програму,очень нужно Создать класс, который состоит из...

Определить количество повторений в тексте заданного слова. Считать, что слова в тексте отделены друг от друга
1)В строке удалить введённое буквосочетание. 2)Определить количество повторений в тексте заданного...

Количество вхождений определённого символа в тексте, общее число символов, число слов в тексте
Приветствую! Мне нужно написать программу, которая считает кол-во слов, символов(без учёта...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru