Как использовать карту слово значение и посчитать вхождение слов

167
05 сентября 2021, 21:40

Как использовать map для подсчета вхождении слов из System.in?

Answer 1

Так должно прокатить

import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;
import java.util.regex.Pattern;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        Pattern wordPattern = Pattern.compile("\\w+", Pattern.MULTILINE);
        Map<String, Integer> counters = new TreeMap<>();
        while (scanner.hasNext(wordPattern)) {
            String word = scanner.next(wordPattern);
            if (!counters.containsKey(word)) {
                counters.put(word, 1);
            } else {
                counters.put(word, counters.get(word) + 1);
            }
        }
        for (Map.Entry<String, Integer> entry : counters.entrySet()) {
            System.out.println(entry.getKey() + ":" +  entry.getValue());
        }
    }
}

PS: тут не приветствуются вопросы в стиле "сделайте за меня домашку". В следующий раз присылайте свой неработающий код, чтобы было видно, что вы сами что-то пытаетесь делать.

READ ALSO
Кодировка HtmlUntil

Кодировка HtmlUntil

Для парсинга сайта использую jsoup и HtmlUntil для нажатия кнопки на страницеВсе нажимается и парсится, проблема в том, что выводятся "крякозябры",...

344
Обработка строк по нажатию JAVA

Обработка строк по нажатию JAVA

Столкнулась с такой проблемойСкопирую ниже задание для какого-то понимания кода (лаба в шараге)

401
Почему не работает валидация над объектами типа DTO , а только над сущностями

Почему не работает валидация над объектами типа DTO , а только над сущностями

У меня установлена аннотация над объектами типа dto, такая же как и над объектами типа EntityНад сущностями аннотация срабатывает, а над объектами...

299