作业02-关于小学数学运算

其实吧头发也没掉的那么多

一、预估与实际

PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划600650
• Estimate• 估计这个任务需要多少时间600650
Development开发500530
• Analysis• 需求分析 (包括学习新技术)300300
• Design Spec• 生成设计文档6060
• Design Review• 设计复审3030
• Coding Standard• 代码规范 (为目前的开发制定合适的规范)90100
• Design• 具体设计400420
• Coding• 具体编码2020
• Code Review• 代码复审6040
• Test• 测试(自我测试,修改代码,提交修改)6080
Reporting报告3060
• Test Repor• 测试报告1530
• Size Measurement• 计算工作量1015
• Postmortem & Process Improvement Plan• 事后总结, 并提出过程改进计划1010
合计750

二、需求分析

我通过万能的度娘了解到,小学一年级数学有如下的几个特点:

  • 特点1
    都是正整数,范围在0-100以内
  • 特点2
    乘除应该满足乘法表且不能有余数

经过分析,我认为,这个程序应当:

  • 使用的数字小于100
  • 还要判断输入的不是正常数的报错情况
  • 得数不能有负数小数
  • 小学二年级是10以内的乘法口诀表的乘除法
  • 得数不能有余数,小数或者负数

三、设计

1. 设计思路

说明你如何设计这个程序

比如:

  • 这个程序有x个类,x个函数,函数之间的调用关系是怎样的?
  • 关键函数的流程图是怎样的?
  • 算法的关键的关键是什么?
  • IO流文件将题目和答案写入
  • 判断参数的输入是否符合题目要求
  • out.txt文本的建立和写入

2. 实现方案

写出具体实现的步骤

比如:

  • 准备工作:先在Github上创建仓库,然后fork,clone到本地并且下载git创建文件等
  • 技术关键点:关于文本创建的一系列方法,清空文本的数据方法,以及判断是一年级还是二年级的方法

四、编码

查到Math.random()是用于随机数的生成
IOException写入out.txt的方法
运用数字0代表+ 1代表-

1. 调试日志

修改了关于小数的结果
检查文本是否存在,对生成文本的目录如果创建失败的情况
忽略文本里没有自己的学号姓名等个人信息

2. 关键代码

private static boolean makeTxt(File file){
if(!file.exists()){
file.getParentFile().mkdirs();
}
if(! file.exists()){
try {
file.createNewFile();
} catch (IOException e) {
throw new RuntimeException("文件创建失败", d);
}
}
FileWriter fileWrite = null;
try {
fileWrite = new FileWriter(file);
fileWrite.write("");
fileWrite.flush();
} catch (IOException e) {
throw new RuntimeException("文件清空发生异常", d);
}

3. 代码规范

请给出本次实验使用的代码规范:

1.左大括号前不换行,后换行,右括号前换行。
2.源代码文件以文件内容中的最顶层的Java类命名,而且大小写敏感,文件扩展名为 .java,同时,文件的编码格式统一为UTF-8。
3.接口方法定义:public abstract void f();

五、测试

输入输出是否符合要求
a输入错误请重新输入
0文本为空
-999输入题目数量有误请重新输入
100正确输出
sb输入错误请重新输入
5 3输入年级错误
10 2正确输出

六、总结

虽然上个学期我已经学习了java但是自己只是为了应付作业,死记硬背完全不理解,基本全忘光了。所以导致在过程中一直寻求help,心里也很烦躁。有体会的一点就是千万不要赶进度不然后期修复bug的时间更长。作为一个青铜5可以说是很难受了,接下来准备从头看视频补基础吧。

转载于:https://www.cnblogs.com/MISAYAHAN/p/9628224.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值