PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 30 | 20 |
? Estimate | ? 估计这个任务需要多少时间 | 700 | 715 |
Development | 开发 | 480 | 540 |
? Analysis | ? 需求分析 (包括学习新技术) | 30 | 40 |
? Design Spec | ? 生成设计文档 | 10 | 5 |
? Design Review | ? 设计复审 | 10 | 15 |
? Coding Standard | ? 代码规范 (为目前的开发制定合适的规范) | 15 | 10 |
? Design | ? 具体设计 | 20 | 20 |
? Coding | ? 具体编码 | 400 | 600 |
? Code Review | ? 代码复审 | 30 | 20 |
? Test | ? 测试(自我测试,修改代码,提交修改) | 10 | 15 |
Reporting | 报告 | 15 | 16 |
? Test Repor | ? 测试报告 | 10 | 11 |
? Size Measurement | ? 计算工作量 | 5 | 5 |
? Postmortem & Process Improvement Plan | ? 事后总结, 并提出过程改进计划 | 10 | 13 |
合计 | 1310 |
我通过百度的方式了解到,小学一年级数学有如下的几个特点:
经过分析,我认为,这个程序应当:
规划代码的布局了解要用到什么函数,方法。
在编码的时候不知道该如何实现代码,有的方法要去上网查找,以及题数要存入数组args[0]中,在这次实验中不能抛异常,要解决异常,在捕获异常时,要把定义的参数放在里面不然在外面调用时会没被定义。以及在输出的out.txt在换行时"\n"在编译器里就是换行了,不过在window中txt没有换行,要用“\r\n”.
记录编码调试的日志,请记录下开发过程中的 debug 历程
打印的问题与答案要空格分开,systm.out.println("\n");println已经换一行了,加上“\n”换了两行,应system。out.println();
以及在输出的out.txt在换行时"\n"在编译器里就是换行了,不过在window中txt没有换行,要用“\r\n”.
在除法中除数不能为零,要在除法钱判断除数是否为零
int operator = (int)(Math.random()2); //随即产生除法或乘法
if(operator==0){ //乘法
int num1 = (int)(Math.random()21);
int num2 = (int)(Math.random()21);
result = num1 num2;//乘法的结果
System.out.println("("+(i+1)+") " + num1 + " * " + num2);//打印
str1[i]="("+(i+1)+") " + num1 + " * " + num2;//将问题存入字符串str1
str2[i]="("+(i+1)+") " + num1 + " * " + num2 + " = " + result;//将答案存入字符串str1
byte[] x1 =str1[i].getBytes();//为了将字符串存入out.txt要转换字节
byte[] x2 =str2[i].getBytes();
byte[] x3 =fengge.getBytes();
shuchu.write(x1);
shuchu.write(x3);
}
else if(operator==1){//随即产生除法或除法
int x = (int)(Math.random()21);//生成随机数
int y = (int)(Math.random()21);
if(x%y==0 && y!=0 && x>y) {余数为零且除数不为零
result = x / y;
System.out.println("("+(i+1)+") " + x + " / " + y);
str1[i]="("+(i+1)+") " + x + " / " + y;
str2[i]="("+(i+1)+") " + x + " / " + y + " = " + result;
byte[] x1 =str1[i].getBytes();
byte[] x2 =str2[i].getBytes();
byte[] x3 =fengge.getBytes();
shuchu.write(x1);
shuchu.write(x3);
}
if(x%y!=0 && y!=0 ) {余数不为零,除数不为零
result = x / y;
System.out.println("("+(i+1)+") " + x + " / " + y);
str1[i]="("+(i+1)+") " + x + " / " + y;
str2[i]="("+(i+1)+") " + x + " / " + y + " = " + result + "..." + (x%y);
byte[] x1 =str1[i].getBytes();
byte[] x2 =str2[i].getBytes();
byte[] x3 =fengge.getBytes();
shuchu.write(x1);
shuchu.write(x3);
}
1谨慎注释掉代码。在上方详细说明,而不是简单地注释掉。如果无用,则删除。
2.[强制]异常不要用来做流程控制,条件控制。
3.[强制] catch时请分清稳定代码和非稳定代码,稳定代码指的是无论如何不会出错的代码。对于非稳定代码的catch尽可能进行区分异常类型,再做对应的异常处理。
4.[强制]不能使用过时的类和方法。
5.[推荐]不同逻辑、不同语义、不同业务的代码之间插入一个空行分割开来以提升可读性。
6.右大括号后还有 else 等代码则不换行;表示终止的右大括号后必须换行。
7.左大括号前不换行。
8.左大括号后换行。
1.输入0 预期结果:输入不能为零 结果:符合预期
2.输入-1 预期结果:输入不能小于零 结果:符合预期
3.输入101 预期结果:输入不能大于100 结果符合预期
这次代码虽然花了不少时间但是大多时候是在做无用功,效率低下;以及编程能力与方法和大一刚进来好不了多少,这次代码也没有全部完成,任务一二完成了输出,但是有很多bug不知道如何解决。以及对于完成代码的方法有些都是一头雾水不知道如何下手,写出的代码又臭又长,没有规范,写完任务一不知道如何在任务一的基础上写二,而且对于异常处理不知道如何处理。这次作业体现了我编程的薄弱,要多加练习,查资料,对于我这次作业我并不满意。我要再多打代码,希望以后的作业能更好地完成。
原文:https://www.cnblogs.com/wwq123/p/9630942.html