(一)需求分析
1.程序可读入任意英文文本文件,该文件中英文词数大于等于1个。
2.程序需要很壮健,能读取容纳英文原版《哈利波特》10万词以上的文章。
3.指定单词词频统计功能:用户可输入从该文本中想要查找词频的一个或任意多个英文单词,运行程序的统计功能可显示对应单词在文本中出现的次数和柱状图。
4.高频词统计功能:用户从键盘输入高频词输出的个数k,运行程序统计功能,可按文本中词频数降序显示前k个单词的词频及单词。
5.统计该文本所有单词数量及词频数,并能将单词及词频数按字典顺序输出到文件result.txt。
(二)功能设计
1.程序读入文件,则需要程序有读入文本数据的功能;
2.高频词统计功能和指定单词词频统计功能需要程序有比较和排序功能。
3.单词及词频数按字典顺序输出到文件result.txt,需要程序具有向文本输出数据的功能。
(三)设计实现
(四)测试运行
- 输入文件名,弹出查询选项;
- 功能一,键入查询的单词,显示单词在文章中出现的次数;
- 功能二,键入想要查看的第一个到第n个单词的频度,并显示柱状图;
- 功能三,将单词按照a-z的顺序写入到result.txt文件中;
(五)部分代码
- 该段代码实现了用户查询单词的频率统计。
(六)总结
本次项目的完不同于以前学习中其他的项目的完成,在本次项目的开始,进行了需求分析,明确需求,为后续工作节省了一部分时间,但是由于自己对Java的掌握度不够,导致在编码过程中浪费了很多时间。本次词频统计分为main和workcount两个类,模块化编程,在每一个小的模块出来以后,进行检测,节省了部分时间。
(七)psp
点击此处查看源代码