ME.kkkK
ME.kkkK
一、预估与实际
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 50 | 40 |
• Estimate | • 估计这个任务需要多少时间 | 500 | 750 |
Development | 开发 | 50 | 60 |
• Analysis | • 需求分析 (包括学习新技术) | 40 | 55 |
• Design Spec | • 生成设计文档 | 30 | 40 |
• Design Review | • 设计复审 | 30 | 40 |
• Coding Standard | • 代码规范 (为目前的开发制定合适的规范) | 30 | 35 |
• Design | • 具体设计 | 150 | 200 |
• Coding | • 具体编码 | 150 | 200 |
• Code Review | • 代码复审 | 50 | 35 |
• Test | • 测试(自我测试,修改代码,提交修改) | 20 | 15 |
Reporting | 报告 | 30 | 20 |
• Test Repor | • 测试报告 | 20 | 20 |
• Size Measurement | • 计算工作量 | 30 | 20 |
• Postmortem & Process Improvement Plan | • 事后总结, 并提出过程改进计划 | 20 | 20 |
合计 | 1050 |
二、需求分析
我通过网络查询的方式了解到,小学一年级数学有如下的几个特点:
- 特点1:差或和必须是小于100的自然数
- 特点2:两个加数都小于100的自然数
- 特点3:被减数和减数也是小于100的自然数
经过分析,我认为,这个程序应当:
- 使用的数字小于100
- 减速要小于被减数
- 和或差都是小于100的自然数
三、设计
1. 设计思路
实验1:
- 先确定输入的值是否符合题意
- 然后设计加减法的函数
- 带入一些特殊的数字是否成立
实验2: - 在加减法的函数中添加乘除法
- 带入一些特殊的数字是否成立
2. 实现方案
具体实现的步骤
- 准备工作:先在Github上创建仓库,克隆到本地...
- 技术关键点:在函数接口和内部类的规则设定
四、编码
- 先确定“n”值的取值范围,在确定加数,减数,被减数,除数,乘数都要小于100的自然数
- 和,差,积,商都小于100的自然数
1. 调试日志
记录编码调试的日志,请记录下开发过程中的 debug 历程
-
字符串无法写入到txt文本,用byte转出字节流写入
-
数组越界,扩大数组
-
无法用命令行直接传参,用args数组解决
-
在代码的什么位置,代码出现了什么问题,问题会导致什么结果,怎么解决的
2. 关键代码
private static void generatingTopic(int len,int grade) {
for (int i = 1; i <= len; i++) {
int a = (int) (Math.random() * 100);
int b = (int) (Math.random() * 100);
int n = 0;
if(n%1!=0)
System.out.println("error"+"输入的值必须是正整数");
if(n<0 || n==0)
System.out.println("error"+"输入的值必须是正整数");
// 获取两个符合要求的数
int index = (1 == grade) ? ((int) (Math.random() * 10)) % 2 : ((int) (Math.random() * 10)) % 4;
String symbol = Operator[index];
//确保和不超过100
while(0 == index && a + b >= 100) {
a = (int) (Math.random() * 100);
b = (int) (Math.random() * 100);
}
// 计算结果
int sum = 0;//和
int job = 0;//差
int merchant = 0;//商
int ji = 0;//积
int remainder = 0; // 余数
3. 代码规范
请给出本次实验使用的代码规范:
- 第一条:编码的字母大小写需要规范
- 第二条:大小括号的添加,中英文输出的符号
- 第三条:每个定义的函数和需要输出的函数
五、测试
实验一:
输入:0 输出:请输入参数(1为起始)!
输入:1 1 输出:至多输入1个参数!
输入:99......999 输出: 输入的第一个参数数值太大!
输入:2ab3 输出:请输入正整数!
输入:a 输出:请输入正整数!
实验二:
输入:1 输出: 请输入2个参数!
输入:1 2 3 输出:最多两个参数!
输入:100000000 1 输出:输入的第一个参数数值太大!
输入:a a 输出:请输入正整数!
输入:2a 1 输出:请输入正整数!
输入:0 2 输出:请输入参数(1为起始)!
输入:10 3 输出:第二个参数请输入1或2!
六、总结
一 开始看到这个题目的时候一点思路都没有,感觉是自己大一大二给自己挖的坑太大了,所以根本一点想法都没有,但是还是想办法想将这一份作业完成,一开始寻求百度的力量但是百度的提醒比较抽象不具体于是和舍友以及问了班级里java编程的功力强的人的帮助,然后合理的参考别人提供的方法,最后勉勉强强的完成了这份作业,希望下次可以做得更好