/
Elyumusa
/
SberJavaCourseBeginner
Обзор
Документация
Войти
/
Elyumusa
/
SberJavaCourseBeginner
Код
Запросы
2
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
hw_3
src/hw3/task1/Main.java
57 строк
2 KB
Elyumusa
Task 1 Updated
08 апр 2025, 12:51
08 апр 2025, 12:51
13f085f
Код
Авторство
О чём код?
package hw3.task1; import java.util.*; public class Main { public static void main(String[] args){ List<String> lines = buildLines(); Map<String,Integer> wordMap = buildWordMap(lines); System.out.println(wordMap); List<Map.Entry<String,Integer>> sortedHashMap=new ArrayList<>(wordMap.entrySet()); sortedHashMap.sort(Map.Entry.comparingByValue()); printResults(sortedHashMap); } private static List<String> buildLines( ) { List<String> lines=new ArrayList<String>(); Scanner scanner = new Scanner(System.in); while(true) { String input = scanner.nextLine(); if (input.isEmpty()) { break; } lines.add(input.toLowerCase()); } return lines; } private static Map<String,Integer> buildWordMap(List<String> lines){ Map<String,Integer> wordMap = new HashMap<>(); for(String line:lines){ String[] w= line.split("[\\s\\p{Punct}]+"); for(String word: w){ if(!word.isEmpty()){ wordMap.merge(word,1,Integer::sum); } } } return wordMap; } private static void printResults(List<Map.Entry<String,Integer>> sortedHashMap){ int size=sortedHashMap.size(); List<Map.Entry<String,Integer>> famousFiveList=sortedHashMap.subList(Math.max(size-5, 0), sortedHashMap.size()); List<Map.Entry<String,Integer>> rareFiveList=sortedHashMap.subList(0,Math.min(5,size)); for(Map.Entry<String,Integer> entry:famousFiveList){ System.out.println(entry.getKey() + " " + entry.getValue()); } System.out.println(" "); for(Map.Entry<String,Integer> entry:rareFiveList){ System.out.println(entry.getKey() + " " + entry.getValue()); } } }