这个作业属于的课程 | https://edu.cnblogs.com/campus/zswxy/computer-science-class2-2018 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/computer-science-class2-2018/homework/11878 |
我在这个课程的目标是 | 学好码云 |
学号 | 20188451 |
文章主体
码云项目地址
PSP表格
PSP | Personal Software Process tages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 15 | 25 |
Estimate | 估计这个任务需要多少时间 | 360 | 560 |
Development | 开发 | 130 | 240 |
Analysis | 需求分析(包括学习新技术) | 50 | 120 |
Design Spec | 生成设计文档 | 30 | 20 |
Design Review | 设计复审 | 5 | 3 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 50 | 0 |
Design | 具体设计 | 15 | 40 |
Coding | 具体编码 | 120 | 250 |
Code Review | 代码复审 | 20 | 40 |
Test | 测试(自我测试,修改代码,提交修改) | 30 | 40 |
Reporting | 报告 | 30 | 50 |
Test Repor | 测试报告 | 40 | 30 |
Size Measurement | 计算工作量 | 0 | 0 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 20 | 5 |
合计 | 915 | 1473 |
解题思路描述
看到这个题目要求的时候我还是挺懵的,真的没咋看懂,而且我觉得我学的知识也比较难去完成这个作业,所以就有请教其他同学的帮助。
定义这个文件,并给出文件的路径:
private static final File ROOT_File =new File("C:\\Users\\2840387348\\Desktop\\");
然后定义输入输出文件并将其实例化:
String intputFileName = args[0];
String outputFileName = args[1];
File inputFile = new File(ROOT_File,intputFileName);
File outputFile = new File(ROOT_File,outputFileName);
对输入文件进行判断,若没有便会显示错误,若有输入文件,便会进行输出其单词数,行数和其字符数
if(inputFile.exists()){
doCheck(inputFile);
}else{
throw new RuntimeException("this is error");
}
PrintStream stream = new PrintStream(new FileOutputStream(outputFile));
System.setOut(stream);
show();
System.out.println("单词数:"+obtainTotalWords());
System.out.println("行数:"+count);
System.out.println("字符数:"+(inputFile.length()));
然后还有一些其他的自定义函数对具体的一些实施步骤进行操作(具体看源码)
代码规范:链接
模块接口的设计与实现过程
使用了HashMap接口,是基于哈希表的 Map 接口的实现。对于这个方法,其实自己也没咋弄懂,具体我参考了一些关于HashMap
的一些解释
单元测试展示
这是输入的文档和输出的文档
cmd里面执行操作
异常处理说明
在IDEA里面运行的时候出现了这个
百度后的到了这个解决方案:
对程序的运行也没有啥影响。
心路历程与收获
这次作业花了很长的时间,但感觉时间还是不够用,因为真的不会做,这些用的都是大二时的Java知识,基本自己都遗忘的差不多了。
而且那些git操作也不记得了,还是有很多的需求没有实现吧,题目也不是很懂意思,Java那个时候输入输出流也没学好,
这个作业虽然给了比较长的时间,但正式开始还是这个星期,上个星期忙着去准备公务员的省考了,所以作业途中难免有些力不从心
,中间也请教了我们班许多同学,还是有些收获,比如对gitee的操作有了了解,idea与gitee的代码同步,那些push操作,还有大乌龟
和对一些Java知识的回顾和学习等等。说实话,真挺难的。