第二次随笔
Posted weili-sakura
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第二次随笔相关的知识,希望对你有一定的参考价值。
自己取一个大气又可爱的标题
一、预估与实际
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] = (" "+(onetwo));
}
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 ="
";
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)214=
(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)214= 28
(17)15+2= 17
(18)19÷11= 1 ......8
(19)16-18= -2
(20)13-5= 8
六、总结
请总结过程中的教训和经验,思考
我在其中感觉到自己两个月没打代码都不知道如何着手,没有思绪,直到百度了解许多东西还有记起了以前老师教过的东西,才逐渐慢慢弄完,感觉自己还需要多理解代码意义还有多实践去打代码。
以上是关于第二次随笔的主要内容,如果未能解决你的问题,请参考以下文章