Как использовать map для подсчета вхождении слов из System.in?
Так должно прокатить
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: тут не приветствуются вопросы в стиле "сделайте за меня домашку". В следующий раз присылайте свой неработающий код, чтобы было видно, что вы сами что-то пытаетесь делать.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей