程序可读入任意英文文本文件,该文件中英文词数大于等于1个。java
程序须要很壮健,能读取容纳英文原版《哈利波特》10万词以上的文章。git
指定单词词频统计功能:用户可输入从该文本中想要查找词频的一个或任意多个英文单词,运行程序的统计功能可显示对应单词在文本中出现的次数和柱状图。github
高频词统计功能:用户从键盘输入高频词输出的个数k,运行程序统计功能,可按文本中词频数降序显示前k个单词的词频及单词。编程
统计该文本全部单词数量及词频数,并能将单词及词频数按字典顺序输出到文件result.txt。学习
文件读入功能
指定单词统计功能
显示指定单词统计的柱状图功能
全部单词数量及词频数统计,将结果输入到result.txt的功能
测试
经过map集合、treemap、调用类方法、输入输出等方法实现对指定单词的统计功能。编码
System.out.println("请输入你要查找的单词,用逗号隔开"); String s1=sc.next(); //调用类方法 fengzhuang f1=new fengzhuang(); str=f1.one(map, s1);//s1查指定单词 map查全部的单词 Main s3=new Main(); s3.setVisible(true);
public String[] one(TreeMap<String,Integer> map,String str){ TreeMap<String,Integer> map1 = new TreeMap<String,Integer>(); String[] s2=str.split(","); for (int i = 0; i < s2.length; i++) { for(Entry<String,Integer> entry: map.entrySet()) { if(s2[i].equals(entry.getKey())){ map1.put(entry.getKey(),entry.getValue()); System.out.println(entry.getKey()+"=="+entry.getValue()); break; } } } return s2;
在程序设计中,将整个程序按不一样的功能划分为不一样的模块,并在这些模块之间创建必要的联系,共同完成程序所要实现的功能。但因为实力不足,高频词统计功能未能实现,之后要增强代码的练习,提升编程的能力。设计
PSP2.1 | 任务内容 | 计划共完成须要的时间(min) | 实际完成须要的时间(min) |
Planning | 计划 | 15 | 15 |
· Estimate | · 估计这个任务须要多少时间,并规划大体工做步骤 | 15 | 15 |
Development | 开发 | 146 | 218 |
·· Analysis | 需求分析 (包括学习新技术) | 25 | 35 |
· Design Spec | · 生成设计文档 | 25 | 35 |
· Design Review | · 设计复审 | 10 | 15 |
· Coding Standard | 代码规范 | 10 | 10 |
· Design | 具体设计 | 30 | 50 |
· Coding | 具体编码 | 120 | 240 |
· Code Review | · 代码复审 | 15 | 20 |
· Test | · 测试(自我测试,修改代码,提交修改) | 30 | 50 |
Reporting | 报告 | 25 | 30 |
·· Test Report | · 测试报告 | 30 | 40 |
· Size Measurement | 计算工做量 | 10 | 10 |
· Postmortem & Process Improvement Plan | · 过后总结 ,并提出过程改进计划 | 15 | 20 |
从PSP表中能够看出每一个阶段的计划完成时间和实际完成时间仍是有必定的差距的,因为对于Java语言的掌握不够好,致使此次做业刚开始作的时候思路不清晰,编码过程比较困难,但经过查阅资料和寻求同窗的帮助,基本完成了此次做业。经过此次做业,我意识到本身对Java语言掌握的并不熟练,有一些方法也不懂,之后要增强本身的编程能力,提升本身对Java语言的掌握度,争取写出更好的程序。代码规范
源代码地址:https://github.com/sunmiaokum/countcode