100以内正整数加减法--计应193第四小组王笑

一、 计划

1、随机函数产生一组算题,产生算式,剔除不够减,循环产生

2、显示一组算题,同步计时(秒)

3、显示对错,统计正确率以及得分,统计时间

二、开发

1、需求分析:

作为一个一年级小学生的家长,我希望制作一个出题软件,完成100以内的正整数的加减法题随机产生,以便减轻我的家庭负担。

2.生成设计文档

3.设计复审

4.代码规范

符合代码规范

5.具体设计

登录小学生提卡程序需要正确的用户名和密码,登录成功后选择加法题或减法题,做完后退出系统并显示出做的总题数,正确题数,正确率和所用的时间

6.具体代码

package cn;
import java.util.Date;
import java.util.Scanner;
public class StudentTk {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String name = "wx";
int mm = 123456;
int sum1 = 0;// 总题数
int sum2 = 0;// 对题数
double sum3 = 0;// 正确率
int time;// 所用时间
System.out.println("========欢迎使用小学生口算提卡程序==========");
System.out.println("请输入用户名:");
String username = input.nextLine();
System.out.println("请输入密码:");
int pass = input.nextInt();
if (username.equals(name) && pass == mm) {
System.out.println("恭喜你,登陆成功");
Date start = new Date(System.currentTimeMillis());
long starttime = start.getTime();
while (true) {
System.out.println("1,加法运算");
System.out.println("2,减法运算");
System.out.println("0,退出系统");
System.out.print("请输入你的选择");
int choice = input.nextInt();
if (choice == 1) {
for (int i = 1; i <= 10; i++) {
int x = (int) (Math.random() * 100);
int y = (int) (Math.random() * 100);
System.out.print(x + "+" + y + "=");
int z = input.nextInt();
if (z == (x + y)) {
System.out.println("恭喜你,回答正确");
sum2++;
} else {
System.out.println("答案错误,正确答案为:" + x + "+" + y + "=" + (x + y));
}
sum1++;
}
} else if (choice == 2) {
for (int i = 1; i <= 10;) {

int x = (int) (Math.random() * 100);
int y = (int) (Math.random() * 100);
if (x > y) {
System.out.print(x + "-" + y + "=");
int z = input.nextInt();
if (z == (x - y)) {
System.out.println("恭喜你,回答正确");
sum2++;
} else {
System.out.println("答案错误,正确答案为:" + x + "-" + y + "=" + (x + y));
}
sum1++;
i++;
}
}
}
else if (choice == 0) {
sum3 = (sum2 * 1.0 / sum1 * 1.0) * 100;
System.out.println("总题数:" + sum1 + "答对的题数:" + sum2 + "正确率:" + sum3 + "%");
Date end = new Date(System.currentTimeMillis());
long endtime = end.getTime();
time = (int) ((endtime - starttime) / (1000));
System.out.println("您答题所用时间为:"+time+"秒");
System.out.println("系统已退出,欢迎下次使用");
System.exit(0);
}
else {
System.out.println("没有此选项!请重新选择");
}
}
} else {
System.out.println("用户名或密码输入错误");

}
}
}

 

 

8、代码复审

9、测试报告

10、事后总结

实现前先做好计划,写代码时认真规范,做好复审和测试工作

11、提出过程改进计划

 

小学生口算提卡

预估时间

心之琑向(王笑)的实际记录

计划

   
  • 明确需求和其他相关因素,估计每个阶段的时间成本。

5

3

开发

   
  • 需求分析(学习新技术,新工具)

5

7

  • 生成设计文档(整体框架的设计,各模块的接口,用时序图等方法)

10

12

  • 设计复审(和同事审核设计文档)

5

6

  • 代码规范(为目前的开发制定合适的规范)

2

3

  • 具体设计(用伪代码,流程图等方法来设计具体模块)

10

12

  • 具体编码

60

58

  • 代码复审

5

5

  • 测试(自测、修改代码、提交修改)

10

16

报告

   
  • 测试报告(发现了多少bug,修复了多少)

5

5

  • 计算工作量(多少行代码,多少次签入,多少测试用例,其他工作量)

3

2

  • 事后总结,并提出过程改进计划(包括写文档,博客的时间)

15

17

总共花费的时间

135

146

posted @ 2021-04-10 14:53  雾岛风起时  阅读(209)  评论(0)    收藏  举报