小学正整数加减法计算---计应192西——第六组——陈欣欣

一.计划

1.随机产生一组(10个)算数题——产生算式,剔除不够减,循环产生。

2.显示一组算题,选择解答界面,同步计时(秒)。

3.显示对错,统计正确率,统计时间。

二.开发

1.需求分析

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

2.生成设计文档

3.设计复审

4.代码规范

注意大小写,注意缩进,括号一定要配对,注意要分行。

5.具体设计

系统开始,随机产生10道加法或者减法,计算完成后,统计做了多少道题,正确率,以及用了多少时间,系统结束。

6.具体编码

package math;

 

import java.awt.Toolkit;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.Scanner;

 

public class Count {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

int sum1 = 0;// 总题数

int sum2 = 0;// 对题数

double sum3 = 0;// 正确率

int time;// 所用时间

long startMili = System.currentTimeMillis();// 当前时间对应的毫秒数

System.out.println("开始 ");

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 + "%");

long endMili = System.currentTimeMillis();

System.out.println("总耗时为:" + (endMili - startMili) / 1000 + "秒");

System.out.println("系统结束,欢迎下次使用");

System.exit(0);

 

else {

System.out.println("没有此选项!请重新选择");

}

}

}

}

PSP 各个阶段

 预估时间

(分钟)

实际记录

(分钟)

计划:明确需求和其他因素,估计以下的各个任务需要多少时间 

 

 

开发(包括下面8项子任务)

 

 

. 需求分析(包括学习新技术、新工具的时间)

 120

 150

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

35

 50

. 设计复审 (和同事审核设计文档,或者自己复审)

20 

 30

.代码规范(为目前的开发制定或选择合适的规范)

10 

 15

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

25 

 40

.具体编码

35

 50

.代码复审

10

 20

.测试(自我测试,修改代码,提交修改)

20

 25

总共花费的时间(分钟)

 275

380

posted @ 2021-04-11 14:07  计应192西六组  阅读(201)  评论(0编辑  收藏  举报