100以内正整数的加法——计应193第四组 彭鸽
100以内加法的个人项目
一、 计划
1、使用随机函数产生一组(10个)的算数题
2、显示算题界面,开始、完成界面,同步计时(秒)
3、显示对错,统计正确率以及得分,并且统计时间
二、开发
1、需求分析:
作为一个一年级小学生的家长,我希望制作一个出题软件,完成100以内的正整数的加减法题随机产生,以便减轻我的家庭负担。
2、生成设计文档:
①首先创建一个测试类,
②<1>第一步先获得当前时间的毫秒数
<2>然后定义算式a,num1,num2为int类型,并初始化题目数量total=10,正确数right=0,错误数wrong=0。
<3>使用Scanner来接受用户输入的数值。
<4>使用Random来产生100以内随机数组成的算式。
③使用while循环来循环一组(10道)算数题,将随机获得的100以内数字分别赋值给num1,num2,用+号来连接。
④使用if语句来判断表达式结果是否正确,正确的话输出“恭喜你!答题正确,继续保持”,错误的话则输出“不好意思!答题错误,继续加油”,最后10道算术题做完之后显示正确率以及统计时间。
3、设计复审:
4、代码规范
要注意命名规则,不要随意命名,大括号的对应。
5、具体设计
编写一个名为P的测试类,然后在main方法里面写关于这个项目的所有方法,运行测试类查看结果。
6、具体编码:
package test;
import java.util.Scanner;
import java.util.Random;
import java.util.Calendar;
public class P{
public static void main(String[] args){
long startMili=System.currentTimeMillis();// 当前时间对应的毫秒数
System.out.println("开始 "+startMili);
int a,num1,num2,total=10,right=0,wrong=0;
Scanner sc=new Scanner(System.in);
Random r=new Random(Calendar.getInstance().getTimeInMillis());
while(total>0){
num1=r.nextInt(101);
num2=r.nextInt(101);
System.out.print(""+num1+"+"+num2+"=");
a=Integer.parseInt(sc.nextLine());
if(a==num1+num2){
right++;
System.out.println("恭喜你!答题正确,继续保持");
}else{
wrong++;
System.out.println("不好意思!答题错误,继续加油");
}
total--;
}
System.out.println("每题10分,共回答10题,对"+right+"题,错"+wrong+"题。得分:"+(right*10));
long endMili=System.currentTimeMillis();
System.out.println("结束 s"+endMili);
System.out.println("总耗时为:"+(endMili-startMili)/1000+"秒");
}
}
7、代码复审
没有明显的编译错误,个别代码需要反复测试他的局限性。
8、测试

三、报告
1、测试报告
测试结果能达到最初的预期效果,随机产生10个100以内的算术题,并显示出来最后还能判断对错,并统计得分,以及统计所用时间。测试成功,还未发现其他bug。
2、计算工作量
3、事后总结
个人代码过程中有许多问题,需要不断修改不断完善,一直不停的测试才可以是程序一步一步达到自己的预期,复审以及测试过程中会有许多不明白的问题,需要和伙伴商量探讨。
|
四则运算开发阶段 |
雾岛风起时所用时间 |
工程师所用时间 |
|
计划 |
|
|
|
•明确需求和其他相关因素,估计每个阶段的时间成本 |
8 |
6 |
|
开发 |
|
|
|
•需求分析 |
5 |
10 |
|
•生成设计文档 |
8 |
6 |
|
•设计复审(和同事审核设计文档) |
8 |
6 |
|
•代码规范(为目前的开发制定合适的规范) |
3 |
3 |
|
•具体设计 |
11 |
12 |
|
•具体编码 |
22 |
21 |
|
•代码复审 |
10 |
9 |
|
•测试(自测,修改代码,提交修改) |
21 |
21 |
|
报告 |
|
|
|
•测试报告 |
2 |
2 |
|
•计算工作量 |
1 |
1 |
|
•事后总结 |
3 |
3 |
浙公网安备 33010602011771号