Treemap的应用
Description
巨硬公司(huge-hard)最近计划出品一个字处理软件。软件基本功能已经完成,但还缺少一个单词统计的功能,你的任务就是为该公司写一段程序,完成统计功能。
需要统计的信息有两项:出现单词的个数和单个单词出现的次数。
需要统计的信息有两项:出现单词的个数和单个单词出现的次数。
Input
输入为一行字符串,即要统计的文本。
Output
输出由若干行组成,第一行是一个整数,表示单词的个数,从第二行开始,每行由字符串、冒号、整数组成,其中字符串是一个出现在文本中的单词,整数则是该单词在文本中出现的次数。
Sample Input
to know everything is to know nothing
Sample Output
7
everything:1
is:1
know:2
nothing:1
to:2
代码:
import java.util.Scanner;
import java.util.TreeMap;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String words[] = str.trim().toLowerCase().split("\\W+");
int count = 0;
TreeMap<String, Integer> map = new TreeMap<String, Integer>();
for (String word : words) {
if (word.isEmpty())
continue;
++count;
if (map.containsKey(word)) {
int freq = map.get(word);
map.put(word, freq + 1);
} else {
map.put(word, 1);
}
}
System.out.println(count);
for (String key : map.keySet()) {
System.out.println(key + ":" + map.get(key));
}
}
}