词频统计
【问题描述】文件“in.txt”中存放着若干行以空格间隔的单词,统计每个单词出现的次数,然后输出到终端。
【输入形式】
【输出形式】
【样例输入】
若文件内容为:
hello world
hello
hello
how are you
【样例输出】
how:1
world:1
are:1
hello:3
you:1
【样例说明】
【评分标准】
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
//所需导入的包
public class App {
public static void wordcount(String fname) {
Map<String, Integer> map = new HashMap<String, Integer>();
try {
BufferedReader br = new BufferedReader(new FileReader(fname));
String line;
String words[];
while (true) {
line = br.readLine();
if (line == null) {
break;
}
words=line.split(" ");
for(String key:words){
map.put(key, map.get(key)==null?1:map.get(key)+1);
}
}
Set<String> keySet = map.keySet();
Iterator<String> iterator = keySet.iterator();
String key;
while(iterator.hasNext()){
key=iterator.next();
System.out.println(key+":"+map.get(key));
}
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
wordcount("in.txt");
}
}