一、计划
1.随机产生一组(10个)算数题——产生算式,剔除不够减,循环产生。
2.显示一组算题,选择解答界面,同步计时(秒)。
3.显示对错,统计正确率,统计时间。
二、开发
1.需求分析
作为一名一年级小学生的家长,我希望制作一个出题软件,完成100以内的正整数的加减法题随机产生,以便减轻我的家庭负担。
2.生成设计文档
3.设计复审
4.代码规范
注意大小写和缩进,括号一定要配对。
5.具体设计
系统开始,随机产生10道加法或者减法,计算完成后,显示正确题数,正确率以及所花费的时间,系统结束。
6.具体编码
package cn.itcast;
import java.util.Date;
import java.util.Random;
import java.util.Scanner;
public class CalculationTest {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
String name = "goulee";
int mm = 888888;
int count=0;//记录生产个数
int num=0;//记录正确个数
System.out.println("========欢迎使用小学生口算题卡程序========");
System.out.println("请输入用户名:");
String username = scanner.nextLine();
System.out.println("请输入密码:");
int pass = scanner.nextInt();
if (username.equals(name) && pass == mm) {
System.out.println("恭喜你,登录成功");
Date date=new Date();//记录开始时间
while(true) {
int x=(int)(Math.random()*100);
int y=(int)(Math.random()*100);
char[] fh= {‘+‘,‘-‘};
Random random=new Random();
int i=random.nextInt(fh.length);
if(i==0) {
System.out.println(x+"+"+y+"=");
int sum=scanner.nextInt();
if(sum==(x+y)) {
System.out.println("恭喜你,回答正确");
num++;
}else {
System.out.println("回答错误,正确答案是:"+(x+y));
}
}else {
if(x-y<0) {
continue;//负数返回
}
System.out.println(x+"-"+y+"=");
int sum=scanner.nextInt();
if(sum==(x-y)) {
System.out.println("恭喜你,回答正确");
num++;
}else {
System.out.println("回答错误,正确答案是:"+(x-y));
}
}
count++;
if(count==10) {
break;//跳出循环
}
}
Date date1=new Date();//记录结束时间
int time=(int)((date1.getTime()-date.getTime())/1000);
System.out.println("正确个数:"+num);
System.out.println("正确率:"+(int)((num/10.0)*100)+"%");
System.out.println("所花费的时间:"+time+"秒");
System.out.println("系统已退出,欢迎下次使用");
System.exit(0);
}else {
System.out.println("用户名或者密码输入错误");
}
}
}
7.代码复审
8.测试报告
9.事后总结
代码要规范,做好计划和复审
小学生口算提卡 |
预估时间 |
梁静怡的实际记录 |
计划 |
|
|
明确需求和其他相关因素,估计每个阶段的时间成本。 |
5 |
3 |
开发 |
|
|
需求分析(学习新技术,新工具) |
5 |
8 |
生成设计文档(整体框架的设计,各模块的接口,用时序图等方法) |
10 |
13 |
设计复审(和同事审核设计文档) |
5 |
6 |
代码规范(为目前的开发制定合适的规范) |
2 |
2 |
具体设计(用伪代码,流程图等方法来设计具体模块) |
10 |
12 |
具体编码 |
60 |
55 |
代码复审 |
25 |
30 |
测试(自测、修改代码、提交修改) |
10 |
15 |
报告 |
|
|
测试报告(发现了多少bug,修复了多少) |
5 |
5 |
计算工作量(多少行代码,多少次签入,多少测试用例,其他工作量) |
3 |
2 |
事后总结,并提出过程改进计划(包括写文档,博客的时间) |
13 |
15 |
总共花费的时间 |
153 |
166 |
原文:https://www.cnblogs.com/jingren8/p/14825503.html