深圳同城快跑 上机试题02:从文本中读取内容,并统计不同英语单词出现的次数,最后输出到新的文本文件
来源:互联网 发布:淘宝hd版怎么不了图片 编辑:程序博客网 时间:2024/06/11 15:44
package test;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.util.Iterator;import java.util.TreeMap;import java.util.regex.Matcher;import java.util.regex.Pattern;public class TestTreeMap {public static void main(String[] args) throws IOException {String addr="E:/workspace/test/src/test/english.txt";BufferedReader bufr = new BufferedReader(new FileReader(addr));StringBuffer sbuf = new StringBuffer();// 缓冲字符串String line = null;while ((line = bufr.readLine()) != null) {sbuf.append(line);// 追加到缓冲字符串中}bufr.close();// 读取结束Pattern expression = Pattern.compile("[a-zA-Z]+");// 定义正则表达式匹配单词String str1 = sbuf.toString().toLowerCase();// 转换成小写Matcher matcher = expression.matcher(str1);// 定义string1的匹配器TreeMap myTreeMap = new TreeMap();// 创建树映射 存放键/值对int n = 0;// 文章中单词的总数Object word = null;// 文章中的单次Object num = null;// 出现的次数while (matcher.find()) {// 是否匹配单词word = matcher.group();n++;// 单词数加1if (myTreeMap.containsKey(word)) {// 如果包含该键,单词出现过num = myTreeMap.get(word);// 得到单词出现的次数Integer count = (Integer) num;// 强制转换myTreeMap.put(word, count.intValue() + 1);} else {myTreeMap.put(word, new Integer(1));// 否则单词第一次出现,添加到映射中}}System.out.println("文章内容如下:");System.out.println(str1);System.out.println("统计分析如下:");System.out.println("文章中单词总数:" + n+"个");System.out.println("具体的信息在当前目录的result.txt文件中");BufferedWriter bufw=new BufferedWriter(new FileWriter("E:/workspace/test/src/test/result.txt"));Iterator iter=myTreeMap.keySet().iterator();//得到数映射集合的迭代器Object key=null;bufw.write("文件来自:"+addr+"内容如下:");bufw.write(sbuf.toString());bufw.newLine();while(iter.hasNext()){ key=iter.next(); System.out.println(key+":"+myTreeMap.get(key)); bufw.write((String)key+":"+myTreeMap.get(key)); bufw.newLine();}bufw.write("统计分析如下:");bufw.write("文章中单词总数:" + n+"个");bufw.newLine();bufw.write("文章中不同单词总数:" + myTreeMap.size()+"个");bufw.close();}}
1 0
- 深圳同城快跑 上机试题02:从文本中读取内容,并统计不同英语单词出现的次数,最后输出到新的文本文件
- 深圳同城快跑 上机试题01
- 从文本文件中读取数据排序并输出到文本
- 要求通过java读取文本并把文本中的每一行后面的三个成绩相加, 最后按从大到小的顺序输出到另一个文本文件中.
- java 读取键盘输入到txt文件,统计每个单词出现的次数并输出
- 对文本中不同单词出现的次数统计
- 从文本文件中读取随机数,并打印出数字所出现的次数,按次数降序排列
- 华为机试题---统计并输出每个字符在字符串中出现的次数
- 文本分词,并统计分词出现次数,结果输出到文件中
- 统计字符串中出现次数最多的字母并输出
- 统计并输出英语短文中单词出现的次数
- 统计数组中出现次数最多的元素并输出
- 面试题——1. 统计在从1到n的正整数中1出现的次数
- java实现读取一篇英文文章,统计其中每个单词出现的次数并排序输出
- 统计文本文件中数字字符出现的次数
- java读取txt文件,并统计每行中每个字母出现的次数,并将产生的数字保存到一个新的txt文件中(有加分)
- 对文本文件中的单词统计出现的次数(即词频)并按词频的从高到低排序
- Java实现 统计单词出现的次数并按照单词频率从高到低输出
- PAT乙级练习题B1050. 螺旋矩阵
- web设计之:崛起中的九大HTML5开发工具
- Java并发编程:深入剖析ThreadLocal
- 在Pycharm中创建Django开发环境
- 使用Eclipse从数据库逆向生成实体类
- 深圳同城快跑 上机试题02:从文本中读取内容,并统计不同英语单词出现的次数,最后输出到新的文本文件
- 【BZOJ1977】【BJOI2011】严格次小生成树
- 将Centos的yum源更换为国内的阿里云源
- UVA——1600Patrol Robot(A*或普通BFS)
- 跳台阶问题分析整理
- 20+ Twitter开源软件精选
- 【9402】倒序数
- linux驱动笔试题总结
- 关闭虚拟键盘