201671030118 词频统计软件项目报告
(一).需求分析
—程序可读入任意的英文文本文件,该文件中的英文词数大于等于一个。
—能够读取容纳英文原版《哈利波特》10万词以上的文章。
—.要有指定单词的词频统计功能,即用户可输入从该文本中想要查找词频的一个或任意多个英文单词,运行程序的统计功能可显示对应单词在文本中出现的次数和柱状图;
—高频单词统计功能,即用户共键盘输入高频词输出个数k,运行程序统计功能,可按文本中词频数降序显示前k个单词的词频及单词;
—统计该文本所有单词数量及词频数,并能将单词及词频数按字典顺序输出到文件result.txt
(二)功能设计
基本功能:
—统计文件中单词,并输出到指定文件
—根据题目要求读入文件
— 查询文件中单词出现的次数
—文本中的词频数降序显示前K个单词以及柱状图
扩展功能:
目前没有
(三).设计实现
Figure.java :统计前K个出现的频次最高的单词及词频的柱状图
StatisticalWord.java: 输入一个单词统计单词在文章中出现的个数,如果不在提示不在!
WordList.java :统计文件中单词出现的频数并输出到文件
这三个类和一个Main()函数,用户可以根据不同功能进行选择
(四).测试运行
功能1: 统计单词个数,并把结果存到result.txt中。
功能2:输入一个单词,统计其在文中出现的词数。
没有此单词:
功能3:出入前最高K个词频从多到少并用柱状图(由于图片大小缘故柱状图没有显示明显的差距。)
(五).关键代码
显示柱状图:
System.out.println("请输入要查看的最高词频的个数:");
int k = sc.nextInt();
if(k>0&&k<=ordlist.size())
{
System.out.println("----------词频最高的前"+k+"个单词及其柱状图-----------");
for (Map.Entry<String, Integer> entry : ordlist) {System.out.printf("单词 "+"%-8s" + "出现" +"%-3d"+"次 ",entry.getKey(),entry.getValue()); //用符号个数来显示模拟柱状图for(int i=entry.getValue();i>0;i--){System.out.print("▏");}System.out.println();//System.out.println(entry.getKey() + ":" + entry.getValue());if(--k==0)break;//k=0,则不再输出后面的词频 }System.out.println("------------------------------------------------"); }else{System.out.println("输入有误!请重新输入!");}
将输出结果发送到results.txt中:
try{FileWriter fw= new FileWriter("src\\results.txt");System.out.println("词频统计结果已输出列 result.txt文件·");} catch (IOException e){e.printStackTrace();}
进行排序
Comparator<Map.Entry<String, Integer>> valcom = new Comparator<Map.Entry<String,Integer>>() {public int compare(Map.Entry<String, Integer> rst1,Map.Entry<String, Integer> rst2) {int sortrst=rst2.getValue()-rst1.getValue();return sortrst;} };List<Map.Entry<String, Integer>> ordlist = new ArrayList<Map.Entry<String,Integer>>(map.entrySet());Collections.sort(ordlist,valcom);
(六).总结
通过这次的项目发现,之前学过的JAVA忘的一干二净,本来就基础不好,学到的一点也忘了,所以这次代码编写花费了很多时间,需要通过网上和课本以及同学的帮助下大概的完成了项目,但还是有很多问题,需要我花更多的时间学习。
(七).psp
psp | 任务内容 | 计划共完成需要的时间(min) | 实际完成需要的时间(min) |
---|---|---|---|
Planning | 计划 | 15 | 10 |
Estimate | 估计这个任务需要多少时间,并规划大致的工作步骤 | 5 | 10 |
Development | 开发 | 120 | 150 |
Analysis | 需求分析(包括学习新技术) | 30 | 60 |
Design Spec | 生成设计文档 | 30 | 20 |
Design Review | 设计复审(和同学审核设计文档) | 15 | 10 |
Coding Standard | 代码规范化(为目前的开发制定合适的规范) | 20 | 30 |
Design | 具体设计 | 120 | 180 |
Coding | 具体编码 | 180 | 220 |
Code Review | 代码复审 | 30 | 20 |
Test | 测试(自我测试,修改代码,提交修改) | 20 | 15 |
Reporting | 报告 | 50 | 35 |
Test Report | 测试报告 | 20 | 15 |
Size Measurement | 计算工作量 | 10 | 10 |
Postmortem &Process Improvement plan | 事后总结,并提出过程改进计划 | 15 | 10 |
源代码
GitHub
转载于:https://www.cnblogs.com/SLZM18/p/10556731.html
201671030118 词频统计软件项目报告相关推荐
- 201671010411+巩定定+词频统计软件项目报告
课程名 软件工程 实验二 词频统计软件项目报告 词频(TF) 是一个词语出现的次数除以该文件的总词语数. 实验目的 (1)掌握软件项目个人开发流程. (2)掌握Github上发布软件项目的操作方法. ...
- 201671010417 金振兴 词频统计软件项目报告
1.需求分析 按照<构建之法>第2章中2.3所述PSP流程,使用JAVA编程语言,独立完成一个英文文本词频统计的软件开发. .程序可读入任意英文文本文件,该文件中英文词数大于等于1个. . ...
- 201671030128+词频统计软件项目报告
一.需求分析 根据实验二 软件工程个人项目的要求本次软件项目的需求有以下几点: 1.程序可读入任意英文文本文件,该文件中英文词数大于等于1个,程序需要很壮健,能读取容纳英文原版<哈利波特> ...
- 201671030125+词频统计软件项目报告
项目 内容 这个作业属于哪个课程? 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里? 实验二 软件工程个人项目 我在这个课程的目标是? 按时完成老师给的任务,复习JAVA ...
- 201671030130+词频统计软件项目报告
(一)需求分析 根据实验二 软件工程个人项目的要求该软件项目的基本功能要求如下: 1.程序可读入任意英文文本文件,该文件中英文词数大于等于1个. 2.程序需要很壮健,能读取容纳英文原版<哈利波特 ...
- 201671010433 | 词频统计软件项目报告
1.需求分析 使用JAVA编程语言,独立完成一个英文文本词频统计的软件开发.软件基本功能要求如下: 1.程序可读入任意英文文本文件,该文件中英文词数大于等于1个. 2.程序需要很壮健,能读取容纳英文原 ...
- 实验二 词频统计软件项目报告
实验要求 实验二 软件工程个人项目 GitHib链接 https://github.com/Z-zt/Count 一.需求分析 通过分析实验二题目要求,得出的用户需求主要为: 程序可读入任意英文文本文 ...
- 201671010403 陈倩倩 词频统计软件项目报告
一.需求分析 一个英文文本词频统计的软件开发,其基本需求有: 1.程序可读入任意英文文本文件,该文件中英文词数大于等于1个. 2.程序需要很壮健,能读取容纳英文原版<哈利波特>10万词以上 ...
- 201671010423 词频统计软件项目报告
需求分析 1.程序可读入任意英文文本文件,该文件中英文词数大于等于1个. 2.程序需要很壮健,能读取容纳英文原版<哈利波特>10万词以上的文章. 基本功能 1.指定单词词频统计功能:用户可 ...
- 201671010444 夏向明 词频统计软件项目报告
该项目实施过程主要包括以下7部分. 一.需求分析 1.程序需要读入至少一个词,可读入任意英文文本. 2.至少可以统计10万词及以上的文本. 3.用户可以同时查询多个单词的统计,并显示出其个数和柱状图. ...
最新文章
- 留的住叫做幸福. 流逝的叫做遗憾
- ThoughtWorks技术专家详解:企业级区块链原来是这么玩的
- 【面试题】CookieSession
- python神经网络多元函数_阿里达摩院推荐的最新400集python教程,据说懂中文就能上手...
- 2020年最新全国彩礼地图出炉,你那儿娶媳妇儿需要多少彩礼钱呢?数据分析来告诉你...
- 服务器双网卡导致的网络故障及解决方案
- 祝贺泰山OFFICE CDKEY长度25,吾已成为顶级CDKEY砖家
- 谈谈网络通信中的 ACK、NACK 和 REX
- 【多校联赛】The Crime-solving Plan of Groundhog
- 家庭软路由方案:3865U + ESXi6.7(OpenWRTiKuai) + 花生壳蒲公英P5 + 领势MX5300 + 群辉1621 做到国内国外分流、内网设备流控、内网穿透、异地组网
- linux下img文件 windows查看器,Windows server 2016 设置使用照片查看器查看图片
- 自定义实现IOC与DI
- 什么是ARP?ARP作用和使用场景
- 我注册的163邮箱收信地址格式怎么写?邮箱163注册申请后怎么登录?
- 关于企业能源管控平台在轧钢行业能源管理中的应用
- Excel中FgColorsum函数根据字体颜色求和
- Web工程师和设计师必须要知道的 iOS 8的十个变化
- php增加sqlserver扩展
- Latex 彩色表格
- sbt的安装和应用(详细步骤)