这个作业属于哪个课程 | 《软件工程》 |
---|---|
Github项目地址 | https://gitee.com/huanglexing/project-java |
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/computer-science-class3-2018/homework/11879 |
这个作业的目标 | 学习基础Git命令,实现基本需求的过程 |
参考文献 | 《构建之法及软件工程》 |
gitee地址
https://gitee.com/huanglexing/project-java/tree/master/20188464黄乐星/src
PSP
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 600 | 300 |
• Estimate | • 估计这个任务需要多少时间 | 1000 | 1200 |
Development | 开发 | 400 | 400 |
• Analysis | • 需求分析 (包括学习新技术) | 200 | 200 |
• Design Spec | • 生成设计文档 | 100 | 100 |
• Design Review | • 设计复审 | 50 | 60 |
• Coding Standard | • 代码规范 (为目前的开发制定合适的规范) | 40 | 50 |
• Design | • 具体设计 | 60 | 60 |
• Coding | • 具体编码 | 70 | 70 |
• Code Review | • 代码复审 | 60 | 60 |
• Test | • 测试(自我测试,修改代码,提交修改 | 60 | 60 |
Reporting | 报告 | 60 | 60 |
• Test Repor | • 测试报告 | 60 | 60 |
• Size Measurement | • 计算工作量 | 60 | 60 |
• Postmortem & Process Improvement Plan | • 事后总结, 并提出过程改进计划 | 30 | 30 |
合计 | 2850 | 2770 |
实验目的及需求:
实现一个命令行程序,不妨称之为WordCount。
1、实现基本需求
假设有一个软件每隔一小段时间会记录一次用户的搜索记录,记录为英文。
输入文件和输出文件以命令行参数传入。例如我们在命令行窗口(cmd)中输入:
//Java语言
java WordCount input.txt output.txt
则会统计input.txt中的以下几个指标
统计文件的字符数(对应输出第一行)对应的行数增加:
public static void incrLine(){
count++;
只需要统计Ascii码,汉字不需考虑
空格,水平制表符,换行符,均算字符
if(wordcount.char(i)){
continue;
}else{
return false;
}
统计文件的单词总数(对应输出第二行),单词:至少以4个英文字母开头,跟上字母数字符号,单词以分隔符分割,不区分大小写.
英文字母: A-Z,a-z
字母数字符号:A-Z, a-z,0-9
分割符:空格,非字母数字符号
例:file123是一个单词, 123file不是一个单词。file,File和FILE是同一个单词
统计文件的有效行数(对应输出第三行):任何包含非空白字符的行,都需要统计。
统计文件中各单词的出现次数(对应输出接下来10行),最终只输出频率最高的10个。
频率相同的单词,优先输出字典序靠前的单词。
例如,windows95,windows98和windows2000同时出现时,则先输出windows2000
输出的单词统一为小写格式
然后将统计结果输出到output.txt,输出的格式如下;其中word1和word2 对应具体的单词,number为统计出的个数;换行使用' ',编码统一使用UTF-8。
码云推送命令行
收获
由一开始的一脸懵逼,到慢慢浏览优秀博客的推文,弄懂上述的一丢丢东西,实属不易,自己也找了视频进行下一步的系统学习这方面的知识直到弄通为止!!!