第二次随笔

自己取一个大气又可爱的标题

一、预估与实际

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 700 1850
• Estimate • 估计这个任务需要多少时间 800 1780
Development 开发 760 900
• Analysis • 需求分析 (包括学习新技术) 60 70
• Design Spec • 生成设计文档 40 50
• Design Review • 设计复审 30 45
• Coding Standard • 代码规范 (为目前的开发制定合适的规范) 35 40
• Design • 具体设计 400 500
• Coding • 具体编码 400 500
• Code Review • 代码复审 60 100
• Test • 测试(自我测试,修改代码,提交修改) 80 95
Reporting 报告 30 40
• Test Repor • 测试报告 60 90
• Size Measurement • 计算工作量 50 60
• Postmortem & Process Improvement Plan • 事后总结, 并提出过程改进计划 30 40
合计 1850

二、需求分析

我通过百度查资料的方式了解到,小学一年级数学有如下的几个特点:

  • 特点1
    -100以内相加减
  • 特点2
    -九九乘法表内的乘除

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

  • 使用的数字小于100
  • 没有小数

三、设计

1. 设计思路

-判断输入的题目数量和年级数字是否符合规范
-随机数的生成
-调用函数实现不同年级不同随机题目生成
-打印结果及output.txt上

2. 实现方案

写出具体实现的步骤

  • 准备工作:先在Github上创建仓库,克隆到本地
    -技术关键点:输出至txt

四、编码

请说明你如何按照设计思路进行编码,并记录你在开发中遇到的问题,与解决过程
我先创建文件,然后通过创建数组的方式把变量设置好,然后用byte[] m = e.getBytes(); 以及in.write(m);的比特流的方式输出TXT文件

1. 调试日志

记录编码调试的日志,请记录下开发过程中的 debug 历程

  • 在弄除法的时候没有注意余数的表示导致输出的结果有问题

2. 关键代码

FileOutputStream in =new FileOutputStream("out.txt");
num [0] = Integer.parseInt(args[0]);
String num1[] = new String [num[0]];
String num2[] = new String [num[0]];
String num3[] = new String [num[0]];
int num4[] = new int [num[0]];
for (int i = 0; i < num3.length; i++) {
num3[i]="0";
}

for(int i = 0;i<k[0];i++) {
int one = (int) (Math.random()*20);//产生随机数
int two = 1+(int) (Math.random()*20);
int three = (int) (Math.random()*4);
num4[i] = three;

if(three==0) {
System.out.println("("+(i+1)+")"+one+"-"+two+"=");//判断加减乘除
num1[i]="("+(i+1)+")"+one+"-"+two+"=";
num2[i]=" "+(one-two);
}
else if(three==1) {

System.out.println("("+(i+1)+")"+one+"+"+two+"=");
num1[i]="("+(i+1)+")"+one+"+"+two+"=";
num2[i]=" "+(one+two);

}
else if(three==2) {num1[i] = ("("+(i+1)+")"+one+""+two+"=");
num2[i] = (" "+(one
two));

}
else if(three==3) {num1[i] = ("("+(i+1)+")"+one+"÷"+two+"=");
num2[i]=(" "+(one/two));
num3[i] = " "+"......"+(one%two);

}
//用比特流输出TXT文件
byte[] s =num1[i].getBytes();
String d ="\r\n";
byte[] y = d.getBytes();
in.write(s);
in.write(y);

3. 代码规范

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

手动处理异常,不抛出。

合理利用开辟的空间
进行适当合理的代码注释,方便理解,修正

代码中不能使用拼音与英文混合的方式,更不允许直接使用中文的方式。

并自己检查代码是否符合规范

五、测试

请思考并记录你认为必要的测试点,并记录测试用例与测试结果
(1)152=
(2)0+7=
(3)8÷10=
(4)8+19=
(5)18-7=
(6)3÷7=
(7)2÷1=
(8)16-3=
(9)0÷20=
(10)12+2=
(11)19÷1=
(12)3÷1=
(13)10+5=
(14)14+18=
(15)7-19=
(16)2
14=
(17)15+2=
(18)19÷11=
(19)16-18=
(20)13-5=
-----------标准答案-----------
(1)152= 30
(2)0+7= 7
(3)8÷10= 0 ......8
(4)8+19= 27
(5)18-7= 11
(6)3÷7= 0 ......3
(7)2÷1= 2 ......0
(8)16-3= 13
(9)0÷20= 0 ......0
(10)12+2= 14
(11)19÷1= 19 ......0
(12)3÷1= 3 ......0
(13)10+5= 15
(14)14+18= 32
(15)7-19= -12
(16)2
14= 28
(17)15+2= 17
(18)19÷11= 1 ......8
(19)16-18= -2
(20)13-5= 8

六、总结

请总结过程中的教训和经验,思考
我在其中感觉到自己两个月没打代码都不知道如何着手,没有思绪,直到百度了解许多东西还有记起了以前老师教过的东西,才逐渐慢慢弄完,感觉自己还需要多理解代码意义还有多实践去打代码。

猜你喜欢

转载自www.cnblogs.com/weili-Sakura/p/9631778.html