实验要求:(https://www.cnblogs.com/nwnu-daizh/p/10487329.html)
统计该文本所有单词数量及词频数,并能将单词及词频数按字典顺序输出到文件result.txt。
1.显示单词词频(因个人能力问题再没有做柱状图)
2.输出前K个高频词
3.向result.txt写入单词和词频
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;
}
}
//存入单词词频进入文件
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来接收)。而且在实现过程中总是需要借助于外力才可以去实现这些功能。但是一步步的也实现了功能。在开发阶段用的时间比预计的多的多,还是说明了自己的不熟悉。总之还是要多练习,熟能生巧吧!
原文:https://www.cnblogs.com/sixinjie/p/10562250.html