统计字母出现频率及其单词个数

 本周的实验要求在之前实现统计单词的基础之上(可以见之前博客的统计单词的那个实验),对其进行修改成所需要的格式,统计字母出现频率的功能,并按照一定的格式把最终结果的用特定的格式在文本中显示出来

从文件中读取:

BufferedReader buf=new BufferedReader(new FileReader("D:\\应用\\java_workplace\\word1\\piao.txt"));
    System.out.println("Read under this dir English.txt");
    StringBuffer sbuf=new StringBuffer();//缓冲字符串
    String line=null;
    while((line=buf.readLine())!=null){
        sbuf.append(line);//追加到缓冲字符串中
        }
    buf.close();//读取结束

将文中单词进行匹配,大写转换为小写:

Pattern expression=Pattern.compile("[a-zA-Z]+");
    String string1=sbuf.toString().toLowerCase();

统计单词:

while(matcher.find())
    {//是否匹配单词
        word=matcher.group();//得到一个单词
        n++;
        if(myTreeMap.containsKey(word))
        {//如果包含该键,单词出现过
            num=myTreeMap.get(word);//得到单词出现的次数
            Integer count=(Integer)num;//强制转化
            myTreeMap.put(word,new Integer(count.intValue()+1));
            }
        else
        {
            myTreeMap.put(word,new Integer(1));//否则单词第一次出现,添加到映射中
            }
        }

程序结果:

上课感受:

本次实验感觉并不是太难,以前也做过统计字母单词的实验,但是还是花费时间比较长,主要原因在于自己在改以前的代码,以前的代码也没怎么加注释,再次看的时候也没怎么看懂,然后改起来改的一塌糊涂,越做越麻烦。后来开始自己分块实现,重新做才慢慢的完成。

千万别改代码,可以借用一部分,但一定要知道怎么用,乱加代码的结果就是代码写的越来越乱。

转载于:https://www.cnblogs.com/zhoulonghai/p/10821520.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值