201671030112—词频统计软件项目报告
一,需求分析
1.程序可读入任意英文文本文件,该文件中英文词数大于等于1个。
2.程序需要很壮健,能读取容纳英文原版《哈利波特》10万词以上的文章。
3.指定单词词频统计功能:用户可输入从该文本中想要查找词频的一个或任意多个英文单词,运行程序的统计功能可显示对应单词在文本中出现的次数和柱状图。
4.高频词统计功能:用户从键盘输入高频词输出的个数k,运行程序统计功能,可按文本中词频数降序显示前k个单词的词频及单词。
5.统计该文本所有单词数量及词频数,并能将单词及词频数按字典顺序输出到文件result.txt。
二,功能设计
1.用户输入任意多个英文单词,显示对应单词在文本中出现的次数和柱状图。
2.用户从键盘输入高频词输出的个数k,按文本中词频数降序显示前k个单词的词频及单词。
3.统计该文本所有单词数量及词频数,并能将单词及词频数按字典顺序输出到文件result.txt。
三,设计实现
1.设计两个类,一个TEST类用来读入a.xt文件,同时进行词频统计功能测试。另一个MAIN类用来进行对读入文件的各种操作。
2.在对文件的存储方面采用了TreeMap函数,进行单词的存储,在函数中用到了链表的方式。
3.在MAIN函数类中需要有指定单词统计功能,按单词出现频率,字母顺序排序功能,除此之外还应该有将统计出的单词及频率写入result.txt文件中功能。
四,测试运行
1.读取已经写好的a.txt文件,进行操作。
2.继续功能测试,写入result.txt中,最后退出。
3.最终写入的result.txt文件内容。
五,主要代码
1.功能菜单。
2.用*代表柱状图。
六,实验总结
首先,之前学的Java知识点有好多都很陌生了,在刚开始着手写代码的时候,查阅了之前的课本。在经过基本的熟悉之后,可以写一些基本的东西,但是还有一部分有点难,比如按字母顺序进行排序,写入新的文件中,还有柱状图等,在网上进行参考,查阅,修改最终可以基本实现词频统计的功能。
七,PSP展示
在上面的PSP表格中,在开发,程序编码的过程中所花费的时间较多,超出了预测的时间。希望以后可以在保证质量的情况下,提高效率。
点击查看源代码
- 苹果就“电池门”公开致歉;微信下拉任务栏新增小游戏;美团打车进入北京
- 新华三《中国城市数字经济指数白皮书》:深圳数字经济发展水平国内居首
- NodeMCU模块写入MicroPython固件
- 如何证明Application Domain的隔离性
- Enterprise Library深入解析与灵活应用(8):WCF与Exception Handling AppBlock集成[下]
- 我所理解的Remoting(1):Marshaling & Activation[上篇]
- oracle 12c 常见报告获取-AWR
- 人人公司收购美国卡车社区 Trucker Path,未来或探索无人驾驶
- WCF技术剖析之二十二: 深入剖析WCF底层异常处理框架实现原理[下篇]
- 《WCF的绑定模型》博文系列汇总[共6篇]
- 快来看看难民营里的高科技超市
- WCF技术剖析之二十三:服务实例(Service Instance)生命周期如何控制[中篇]
- 如何通过自定义MessageFilter的方式利用按键方式操作控件滚动条[附源代码]
- WCF技术剖析之十九:深度剖析消息编码(Encoding)实现(下篇)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Centos7 安装 Mysql8教程
- linux下快速列出局域网中所有主机名(计算机名)的脚本
- 详解Linux重定向用法
- Zabbix基于snmp实现监控linux主机
- 快速解决linux下中文输入法问题
- Linux实现文件内容去重及求交并差集
- Linux rpm、yum指令及使用方法详解
- Linux下遇到PyCurl的错误解决方法
- Linux cut 命令详解
- linux下安装ffmpeg的详细教程
- 如何利用Gitlab-ci持续部署到远程机器(详细教程)
- Linux常用命令之grep命令用法详解
- 详解Linux动态库生成与使用指南
- Vue 3 入门基础知识
- 在Linux系统中使用Vim读写远程文件的命令详解