要求:
任意选择一个文本文件,分析该文件,如果存在敏感词汇(这些词汇保存在sentive.txt文件中,每个词占一行),报告每个词出现的次数。老师布置的一道java考题,实在不会做。
那个高手指点一下,不胜感激。

解决方案 »

  1.   

    先分词,然后统计词频
    你们老师要是不要程序的话,去下个词频统计软件分析,呵呵
    如果要程序,最慢的方法就是先从sentive.txt中取一个词,然后在文本中匹配这个词出现的次数
    然后下一个词
    如此循环或者就是先把文本分词,网上有分词算法和能用的程序,然后做词频统计
      

  2.   

    首先把这个文件读入内存,用string数组保存单词,然后用正在表达式进行匹配!!大概是这样
      

  3.   

    学集合没有?
    Map学没?
    要是学了Map实现就好方便,要不然有点麻烦,现在懒得想
      

  4.   


    思路:
    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;
        }
    }// 最后可以取出对应的数量
      

  5.   

    像楼上那样就可以,用map很方便