要求:
任意选择一个文本文件,分析该文件,如果存在敏感词汇(这些词汇保存在sentive.txt文件中,每个词占一行),报告每个词出现的次数。老师布置的一道java考题,实在不会做。
那个高手指点一下,不胜感激。
任意选择一个文本文件,分析该文件,如果存在敏感词汇(这些词汇保存在sentive.txt文件中,每个词占一行),报告每个词出现的次数。老师布置的一道java考题,实在不会做。
那个高手指点一下,不胜感激。
你们老师要是不要程序的话,去下个词频统计软件分析,呵呵
如果要程序,最慢的方法就是先从sentive.txt中取一个词,然后在文本中匹配这个词出现的次数
然后下一个词
如此循环或者就是先把文本分词,网上有分词算法和能用的程序,然后做词频统计
Map学没?
要是学了Map实现就好方便,要不然有点麻烦,现在懒得想
思路:
1、 把该文件读到内存当中。
2、 创建一个类用来记录次数。如:
class Count {
// 存放所有的记录
private static Map map = new HashMap(); // str是敏感词汇
public void add(String str) {
map.put(str, getCount(str));
} private int getCount(String str) {
// 取出原来的数量
Object obj = map.get(str);
// 转成整型
Integer i = 0;
if (obj instanceof Integer) {
i = (Integer)obj;
}
// 在原来基础上加1,返回
return i != null? i.intValue() + 1 : 1;
}
}// 最后可以取出对应的数量