实验要求:(http://www.javashuo.com/article/p-mvfktgks-hz.html)html
统计该文本全部单词数量及词频数,并能将单词及词频数按字典顺序输出到文件result.txt。java
1.显示单词词频(因我的能力问题再没有作柱状图)
2.输出前K个高频词
3.向result.txt写入单词和词频
git
Scanner input = new Scanner(System.in); int i=input.nextInt(); switch(i){ case 1: //提示用户输入单词,并提示用什么符号隔开 System.out.printf("请输入你要查找的单词,并用';'隔开"); String str= input.next(); Tongji tj=new Tongji(); a=tj.oneword(map,str); //经过方法调用来实现单个单词的频率 break; //用break中断循环,不然一直执行,直到最后 case 2: Scanner sc=new Scanner(System.in); System.out.println("请输入要查看的高频词频的个数:"); int k = sc.nextInt(); Tongji tj1=new Tongji(); tj1.gaopin(map, k); //经过方法调用来实现单个单词的频率 break; case 3: Tongji tj2=new Tongji(); tj2.out(map); //经过方法调用来存入result文件 break; } }
//存入单词词频进入文件github
public void out(Map<String,Integer> map ){//传入集合 File f=new File("result.txt"); //建立文件result.txt try{ if(!f.exists()){ f.createNewFile(); //若是文件不存在则建立文件 } FileWriter ff=new FileWriter(f.getCanonicalFile());//写文件 for(Entry<String,Integer> entry:map.entrySet()){ ff.write(entry.getKey()+"/"+entry.getValue()+" "+"\n");//遍历 } ff.close(); //文件流关闭 System.out.println("统计输出完成!"); } catch(IOException e){ e.printStackTrace(); } }
以功能块为单位进行程序设计,实现其求解算法的方法称为模块化。
在Tongji类中,用三个函数实现了模块化。在与主函数的交互过程当中经过用户输入值来调用相应的功能模块来驱动目标实现。算法
PSP2.1 | 任务内容 | 计划共完成须要的时间(min) | 实际完成须要的时间(min) |
---|---|---|---|
Planning | 计划 | 30 | 60 |
· Esitimate | 估计这个任务须要多少时间,并规划大体工做步骤 | 200 | 400 |
· Development | 开发 | 240 | 300 |
· Analysis | 需求分析(包括学习新技术) | 10 | 15 |
· Design Spec | 生成设计文档 | 20 | 15 |
· Design Review | 设计复审(和同事审核设计文档) | 15 | 15 |
· Coing Standard | 代码规范(为目前开发制定合适的规范) | 10 | 10 |
· Design | 具体设计 | 20 | 30 |
· Coding | 具体编码 | 240 | 300 |
· Code Review | 代码复审 | 6 | 9 |
· Test | 测试(自我测试,修改代码,提交修改) | 25 | 33 |
· Reporting | 报告 | 10 | 15 |
· Test Report | 测试报告 | 15 | 17 |
· Size Measurement | 计算工做量 | 5 | 3 |
· Postmortem&Process Improvement Plan | 过后总结,并提出过程改进计划 | 5 | 3 |
虽然老师上课讲了作东西以前要进行需求分析,也认真作了需求分析,可是在实际实现的过程当中耗时且有不少缺点。好比长时间未使用Java,居然致使犯一些低级错误(在数据从键盘输入后忘记用next来接收)。并且在实现过程当中老是须要借助于外力才能够去实现这些功能。可是一步步的也实现了功能。在开发阶段用的时间比预计的多的多,仍是说明了本身的不熟悉。总之仍是要多练习,熟能生巧吧!模块化
源码地址函数