今晚的月色温柔

导航

词频统计

【问题描述】文件“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");
}
}

posted on 2020-12-12 17:00  1022  阅读(222)  评论(0编辑  收藏  举报