>>分享Java编程技术,对《Java面向对象编程》等书籍提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 28825 个阅读者 刷新本主题
 * 贴子主题:  统计一篇给定的文章中,各个单词出现的次数的算法 回复文章 点赞(0)  收藏  
作者:Jacky    发表时间:2018-03-22 22:07:24     消息  查看  搜索  好友  邮件  复制  引用

题目:统计一篇给定的 文章中,各个单词出现的次数的算法。

编程思路:用HashMap 来存放出现的单词的次数,Key 是要统计的单词,Value 是单词出现的次数。
最后再按照 Key 的升序排列出来。

import java.util.*;
import java.io.*;

public class CountOccurrenceOfWords {

    public static void main(String[] args) throws Exception {
        Map hashMap = null;
        BufferedReader infile = null;
        StringTokenizer st = null;
        String filename = "Test.txt";
        String string;
        String file = null;
        //打开一篇文章,名字是 Test.txt .
        infile = new BufferedReader(new FileReader(filename));
        while ((string = infile.readLine()) != null) {
            file += string;  //都出整篇文章,存入String中。

        }

        hashMap = new HashMap();
      
         // 取出文章中的单词,"," "." "!" " " 为各个单词的分界符。
        st = new StringTokenizer(file, " ,.!");

        while (st.hasMoreTokens()) {
            String key = st.nextToken();
            if (hashMap.get(key) != null) {
                int value = ((Integer) hashMap.get(key)).intValue();
                value++;
                hashMap.put(key, new Integer(value));

            } else {
                hashMap.put(key, new Integer(1));
            }
        }
      
         //按照单词的字母次序输出。
        Map treeMap = new TreeMap(hashMap);
        Set entrySet = treeMap.entrySet();

        Iterator iterator = entrySet.iterator();

        while (iterator.hasNext()) {

            System.out.println(iterator.next());
        }

    }

}


程序猿的技术大观园:www.javathinker.net
  Java面向对象编程-->内部类
  JavaWeb开发-->使用Session(Ⅱ)
  JSP与Hibernate开发-->映射一对多关联关系
  Java网络编程-->XML数据处理
  精通Spring-->CSS过渡和动画
  Vue3开发-->通过Axios访问服务器
  我是如何把一个15分钟的程序优化到了10秒的
  Java并发编程的总结与思考
  搞定这24道JVM面试题,要价30k都有底气
  Java的对象的拷贝方式集合
  编程语言搜索量排行:用十年数据告诉你什么最受欢迎
  Java并发编程之验证volatile不能保证原子性
  Java中的受查异常与非受查异常区别
  Java设计模式:观察者模式
  Java入门实用代码:将文件内容复制到另一个文件
  Java入门实用代码:向文件写入字符串
  Java入门实用代码:打印矩形
  Java 入门实用代码:汉诺塔算法
  Java程序初始化顺序(一看就懂)
  java Pattern和Matcher详解
  jdbc连接各种数据库代码
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。