Вывести все слова минимальной длины — одна из задач, которую преподаватели дают студентам. В данном уроке программирования разберём её решение на языке Java.
Условие задачи
Задача: Вывести все слова минимальной длины в консоль.
Используемый язык программирования — Java.
Решение задачи
Распишем алгоритм решения задачи:
- Считать из консоли входную текстовую строку
- Удалить из считанной строки знаки препинания и лишние пробелы
- Разбить строку на слова
- Найти минимальную длину слова и сохранить это число
- Вывести все слова, по длине равные найденному числу
Перейдем к программированию. Код сопровождается подробными комментариями.
Напишем статический метод класса, который удаляет знаки препинания из текста. Вы также можете его расширить, добавив знаки препинания, которые мы не учли.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
public static String correctInputString(String in) { //удаляем знаки препинания и лишние пробелы in = in.replace(".", ""); in = in.replace(",", ""); in = in.replace(";", ""); in = in.replace(":", ""); in = in.replace("!", ""); in = in.replace("?", ""); in = in.replace(".", ""); in = in.replace("\"", ""); //можете дополнить список in = in.replace(" ", " "); //удаляем лишние пробелы in = in.replace(" - ", " "); //удаляем тире return in; } |
Теперь закодируем метод, который разделяет строку на слова (с помощью оператора split создается массив) по признаку — наличию пробела между словами, далее ищет длину самого короткого слова и выводит все слова данной длины.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
public static void findMinLengthAndOutput(String s) { String[] words = s.split(" "); int minLength = words[0].length(); //минимальная длина слова for(String word : words) { if(word.length() < minLength) { minLength = word.length(); } } for(String word : words) { if(word.length() == minLength) { System.out.println(word); } } } |
И теперь приведем код метода main, считывающего входную строку и вызывающего другие, написанные в уроке программирования, методы.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
public static void main(String[] args) { Scanner scan = new Scanner(System.in); String input = scan.nextLine(); System.out.println("Исходная строка: " + input); input = correctInputString(input); System.out.println("Обработанная строка: " + input); System.out.println(); System.out.println("Слова минимальной длины:"); System.out.println(); findMinLengthAndOutput(input); } |
Демонстрация работы написанной программы приводится на скриншоте ниже.
Скачать исходник, написанный на Java в среде разработки IntelliJ IDEA, можно, нажав на кнопку:
Скачать исходник
Как Вы видите, вывести все слова минимальной длины — это довольно простая задача. На этом урок программирования завершён. Спасибо за прочтение статьи!
Поделиться в соц. сетях: