201671010415+词频统计软件项目报告

任务一:

源码在Github的仓库主页连链接地址:https://github.com/jinshengfang123/jsf

一、需求分析:

在信息技术普及的现代教学中,有很多有关英语学习的软件,但是对于一篇文章进行词频统计的软件还是比较少的。为了方便老师和学生在上课时能够快速统计出一片文章中出现的单词的频率,能让老师和学生更明确地了解学习的任务,也能让课堂气氛更加活跃,特此写了这段程序。
2:该程序的功能有如下几点:
二、基本功能:
1.程序可读入任意英文文本文件,该文件中英文词数大于等于1个。

2.程序需要很壮健,能读取容纳英文原版《哈利波特》10万词以上的文章。

3.指定单词词频统计功能:用户可输入从该文本中想要查找词频的一个或任意多个英文单词,运行程序的统计功能可显示对应单词在文本中出现的次数和柱状图。

4.高频词统计功能:用户从键盘输入高频词输出的个数k,运行程序统计功能,可按文本中词频数降序显示前k个单词的词频及单词。

三、设计实现

 类:class ByvalueComparator

方法:用到了比较的方法和构造方法      

四、测试运行

五、代码展示

StringTokenizer st = new StringTokenizer(file," ,.!?\"'"); //用于切分字符串

TreeMap hm = new TreeMap<>();
while(st.hasMoreTokens()) {
String word = st.nextToken();
if(hm.get(word) != null) {
int value = ((Integer)hm.get(word)).intValue();
value++;
hm.put(word, new Integer(value));
}
else {
hm.put(word, new Integer(1));
}
}

TreeMap tm = new TreeMap(hm);

ByValueComparator bvc = new ByValueComparator(tm);
List<String> ll = new ArrayList<String>(tm.keySet());
Collections.sort(ll, bvc);
for(String str:ll){
System.out.println(str+"——"+tm.get(str));
}

}



}

六、总    结
在整个作业的完成过程中,也是很不容易的,请教了很多同学和老师后才算完成。在写程序的过程中,是将程序分成好几个模块进行的。通过这次实验真心体会到了自己代码的功底,如果说没有同学和老师的帮忙,估计这次作业很难独立完成。在以后的学习中得加强程序的练习。

七、展示PSP

PSP2.1任务内容计划共完成需要的时间(min)实际完成需要的时间(min)
Planning 计划76
Estimate

估计这个任务需要多少时间,

并规划大致工作步骤

43
Development开发2217
Analysis需求分析 (包括学习新技术)67
Design Spec生成设计文档42
Design Review设计复审 (和同事审核设计文档)53
Coding Standard代码规范 (为目前的开发制定合适的规范) 33
Design 具体设计710
Coding具体编码2016
Code Review设计复审 (和同事审核设计文档)79
Test自我测试,修改代码,提交修改54
Reporting 报告 96
Test Report测试报告32
Size Measurement 计算工作量21
Postmortem & Process Improvement Plan事后总结 ,并提出过程改进计划33

     八:心得体会

这是自己第一次独立完成一个小项目,以前总是觉得自己的编程能力不是太好,但也没怎么在意,通过这次实验,彻底认识到了自己的能力不足,在以后的学习中必须提高编程能力,大量地阅读代码和写代码,尽快掌握 基本的编程语言。

 

转载于:https://www.cnblogs.com/jsfrjgc/p/10562331.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值