—程序可读入任意的英文文本文件,该文件中的英文词数大于等于一个。 —可以读取容纳英文原版《哈利波特》10万词以上的文章。 —.要有指定单词的词频统计功能,即用户可输入从该文本中想要查找词频的一个或任意多个英文单词,运行程序的统计功能可显示对应单词在文本中出现的次数和柱状图; —高频单词统计功能,即用户共键盘输入高频词输出个数k,运行程序统计功能,可按文本中词频数降序显示前k个单词的词频及单词; —统计该文本全部单词数量及词频数,并能将单词及词频数按字典顺序输出到文件result.txt
基本功能:
—统计文件中单词,并输出到指定文件
—根据题目要求读入文件
— 查询文件中单词出现的次数
—文本中的词频数降序显示前K个单词以及柱状图
扩展功能:
目前没有java
Figure.java :统计前K个出现的频次最高的单词及词频的柱状图
StatisticalWord.java: 输入一个单词统计单词在文章中出现的个数,若是不在提示不在!
WordList.java :统计文件中单词出现的频数并输出到文件
这三个类和一个Main()函数,用户能够根据不一样功能进行选择git
System.out.println("请输入要查看的最高词频的个数:");
int k = sc.nextInt();
if(k>0&&k<=ordlist.size())
{
System.out.println("----------词频最高的前"+k+"个单词及其柱状图-----------");github
for (Map.Entry<String, Integer> entry : ordlist) { System.out.printf("单词 "+"%-8s" + "出现" +"%-3d"+"次 ",entry.getKey(),entry.getValue()); //用符号个数来显示模拟柱状图 for(int i=entry.getValue();i>0;i--) { System.out.print("▏"); } System.out.println(); //System.out.println(entry.getKey() + ":" + entry.getValue()); if(--k==0) break;//k=0,则再也不输出后面的词频 } System.out.println("------------------------------------------------"); }else{ System.out.println("输入有误!请从新输入!"); }
try { FileWriter fw= new FileWriter("src\\results.txt"); System.out.println("词频统计结果已输出列 result.txt文件·"); } catch (IOException e) { e.printStackTrace(); }
Comparator<Map.Entry<String, Integer>> valcom = new Comparator<Map.Entry<String,Integer>>() { public int compare(Map.Entry<String, Integer> rst1,Map.Entry<String, Integer> rst2) { int sortrst=rst2.getValue()-rst1.getValue(); return sortrst; } }; List<Map.Entry<String, Integer>> ordlist = new ArrayList<Map.Entry<String,Integer>>(map.entrySet()); Collections.sort(ordlist,valcom);
经过此次的项目发现,以前学过的JAVA忘的一干二净,原本就基础很差,学到的一点也忘了,因此此次代码编写花费了不少时间,须要经过网上和课本以及同窗的帮助下大概的完成了项目,但仍是有不少问题,须要我花更多的时间学习。
psp | 任务内容 | 计划共完成须要的时间(min) | 实际完成须要的时间(min) |
---|---|---|---|
Planning | 计划 | 15 | 10 |
Estimate | 估计这个任务须要多少时间,并规划大体的工做步骤 | 5 | 10 |
Development | 开发 | 120 | 150 |
Analysis | 需求分析(包括学习新技术) | 30 | 60 |
Design Spec | 生成设计文档 | 30 | 20 |
Design Review | 设计复审(和同窗审核设计文档) | 15 | 10 |
Coding Standard | 代码规范化(为目前的开发制定合适的规范) | 20 | 30 |
Design | 具体设计 | 120 | 180 |
Coding | 具体编码 | 180 | 220 |
Code Review | 代码复审 | 30 | 20 |
Test | 测试(自我测试,修改代码,提交修改) | 20 | 15 |
Reporting | 报告 | 50 | 35 |
Test Report | 测试报告 | 20 | 15 |
Size Measurement | 计算工做量 | 10 | 10 |
Postmortem &Process Improvement plan | 过后总结,并提出过程改进计划 | 15 | 10 |
GitHub函数