实验二 词频统计软件项目报告
需求分析
- 使用JAVA编程语言实现以下基本功能
- 1.程序可读入任意英文文本文件,该文件中英文词数大于等于1个。
- 2.程序需要很壮健,能读取容纳英文原版《哈利波特》10万词以上的文章。
- 3.指定单词词频统计功能:用户可输入从该文本中想要查找词频的一个或任意多个英文单词,运行程序的统计功能可显示对应单词在文本中出现的次数和柱状图。
- 4.高频词统计功能:用户从键盘输入高频词输出的个数k,运行程序统计功能,可按文本中词频数降序显示前k个单词的词频及单词。
- 5.统计该文本所有单词数量及词频数,并能将单词及词频数按字典顺序输出到文件result.txt。
功能设计
基本功能:
- 用户可输入任意英文文本
- 容量10万词以上
- 运行程序的统计功能可显示对应单词在文本中出现的次数和柱状图
扩展功能:
- 高频词统计功能:用户从键盘输入高频词输出的个数k,运行程序统计功能,可按文本中词频数降序显示前k个单词的词频及单词。
- 统计该文本所有单词数量及词频数,并能将单词及词频数按字典顺序输出到文件result.txt。
设计实现
- 主程序使用循环体将读入的文章进行读取
- 此外用 String[] wordsArr1 = readLine.split("[^a-zA-Z]"); 过滤出文章中的字母,并除去长度为0的行
- 用 String[] wordsArr1 = readLine.split("[^a-zA-Z]"); 方法存储单词的计数信息
- 最后实现降序排列
测试运行
- 运行结果如图所示:
代码片段
- 输入英文文本
- 过滤出字母
- 进行排序
总结:
- 此次试验因为对语言的学习不够,程序借鉴网络,对程序进行了研读和理解。存在的很多不足在以后的学习中,补充自己在语言方面的不足,课余时间补充java,c等基本语言。
PSP展示:
||||
|:--|:--|:--|:--|
|PSP2.1|任务内容|计划共完成需要的时间(min)|实际完成需要的时间(min)|
|Planning|计划|10|8|
|Estimate|估计这个任务需要多少时间,并规划大致工作步骤|60|40|
|Development|开发|10|10|
|Analysis|需求分析 (包括学习新技术)|6|5|
|Design Spec|生成设计文档|20|15|
|Design Review|设计复审 (和同学一起审核设计文档)|6|6|
|Coding Standard|代码规范 (为目前的开发制定合适的规范)|20|20|
|Design|具体设计|20|30|
|Coding|具体编码|10|8|
|Code Review|代码复审|5|5|
|Test|测试(自我测试,修改代码,提交修改)|5|5|
|Reporting|报告15|12|
|Test Report|测试报告|8|8|
|Size Measurement|计算工作量|8|6|
|Postmortem & Process Improvement Plan|事后总结 ,并提出过程改进计划|10|10|