标签:lin 工具 scanner puts 生成 编码 封装 用户 reader
https://github.com/linlkg/PairProject2018
PSP2.1 | PersonalSoftware Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 20 | 20 |
-Estimate | -估计这个任务需要多少时间 | 20 | 20 |
Development | 开发 | 230 | 303 |
-Analysis | -需求分析(包括学习新技术) | 20 | 25 |
-Design Spec | -生成设计文档 | 20 | 25 |
-Design Review | -设计复审(和同事审核设计文档) | 5 | 8 |
-Coding Standard | -代码规范(为目前的开发制定合适的规范) | 10 | 10 |
-Design | -具体设计 | 25 | 25 |
-Coding | -具体编码 | 120 | 150 |
-Test | -测试(自我测试,修改代码,提交修改) | 30 | 60 |
Reporting | 报告 | 80 | 105 |
-Test Report | -测试报告 | 20 | 20 |
-Size Measurement | -计算工作量 | 30 | 35 |
-Postmortem&Process Improvement Plan | -事后分析,并提出过程改进计划 | 30 | 50 |
- | 合计 | 330 | 428 |
-第一步:相关类设计
相关类图如下:
-性能分析图(由VS 2017/JProfiler的性能分析工具自动生成)
输入文件为群里分享的测试文件bible-kjv.txt
读文件时若读取文件失败则抛异常
//读入用户写好的TXT文件,
//尝试读取文件,若失败catch到异常并打印出来
try {
File file = new File(args[0]);
Scanner input = new Scanner(file);
String path = input.next();
List<String> wordArray = new ArrayList<String>();
int countChar=0;
int countWord=0;
int counLine=0;
InputStreamReader reader = new InputStreamReader(new FileInputStream(args[0])); // 建立一个输入流对象reader
BufferedReader br = new BufferedReader(reader); // 建立一个对象,它把文件内容转成计算机能读懂的语言
}catch (Exception e){
e.printStackTrace();
}
//统计行数
一行一行读入文件,所以每行读入次数加一,但要注意去除空白行
再将分割好的单词与正则表达式匹配以便统计词频
//单词的词频统计
如果已有相同的单词,则词频加1
否则创建一个<key,value>以保存新的单词
//按value的大小进行排序并输出词频最高的前十个
按字典序大小进行排序,当结果少于10个时全部输出,当结果多于10个时输出前10个结果
标签:lin 工具 scanner puts 生成 编码 封装 用户 reader
原文地址:https://www.cnblogs.com/cocoSE/p/9286812.html