小学生口算题卡系统————计应193第六组何培歌

小学生口算题卡——计应193第六组何培歌

一. 计划

使用java语言编写小学生口算题卡系统,实现加减法运算

二. 开发

1. 需求分析:

作为一名一年级学生家长,我希望制作一个出题软件,完成100以内的加减法运算,以便减轻我的负担。

2. 技术难点:

(1) 随机产生100以内的正整数

(2) 要剔除减法为负值的运算

(3) 加法减法任意选择

3.任务

1)实现登录功能(用户名,密码)

2)随机产生一组100以内的加减法算式,循环产生

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

4)显示对错,错误的给出正确答案,统计得分

4.代码规范

符合代码规范

5.具体设计

      需要用户名和密码登录小学生口算题卡系统,然后选择加法或减法运算,最后退出系统显示得分积所用时间

6.具体编码

import java.util.Date;
import java.util.Scanner;

public class Count {
    private static String time;

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        Scanner sc = new Scanner(System.in);
        String name="hpg";
        int pass=123456;
        int sum1 = 0;//总题数
        int sum2 = 0;//对题数
        int x,y,i = 1;
        int z,choice;
        int time;//所用时间
        int num;
        System.out.println("欢迎使用小学生口算题卡系统");
        System.out.println("请输入用户名:");
        String username=sc.nextLine();
        System.out.println("请输入密码:");
        int password = sc.nextInt();

        if(username.equals(name)&&password == pass)
        {
            System.out.println("恭喜你,登陆成功");
            Date date = new Date(System.currentTimeMillis());
            long startMillis = date.getTime();
        
        
        
        while(true)
        {
            System.out.println("1,加法运算");
            System.out.println("2,减法运算");
            System.out.println("3,退出系统");
            System.out.print("请输入你的选择:");
            choice = sc.nextInt();
            
            switch(choice)
            {  
            case 1:
                
                System.out.print("请输入你要完成的题目数:");
                num = sc.nextInt();
                for(i = 1;i <= num;i ++)
                {
                    x = (int)(Math.random() * 100);
                    y = (int)(Math.random() * 100);
                    System.out.print(x + "+" + y + "=");
                    z = sc.nextInt();
                    if(z == (x + y))
                    {
                        System.out.println("恭喜你,回答正确");
                        sum2 ++;
                    }
                    else
                    {
                        System.out.println("答案错误,正确答案为:" + x + "+" + y + "=" + (x + y));
                    }
                    sum1 ++;
                }
                break;
            case 2:
                System.out.print("请输入你要完成的题目数:");
                num = sc.nextInt();
                for(i = 1;i <= num;)
                {
                    
                    x = (int)(Math.random() * 100);
                    y = (int)(Math.random() * 100);
                    if(x > y)
                    {
                        System.out.print(x + "-" + y + "=");
                        z = sc.nextInt();
                        if(z == (x - y))
                        {
                            System.out.println("恭喜你,回答正确");
                            sum2 ++;
                        }
                        else
                        {
                            System.out.println("答案错误,正确答案为:" + x + "-" + y + "=" + (x + y));
                        }
                        sum1 ++;
                        i ++;
                    }
                }
                break;
            case 3:
                System.out.println("总题数:" + sum1  + "答对的题数:" + sum2);
                Date star = new Date(System.currentTimeMillis());
                long endMillis = star.getTime();
                 double usertime= ((endMillis-startMillis)/1000);
                 System.out.println("你答题所用时间为:"+usertime+"秒");
                System.out.println("系统已退出,欢迎下次使用");
                System.exit(0);
                break;
                
            default:
                
                System.out.println("选择错误。请重新选择");
            }
        }
        

        }
        else
        {
            System.out.println("用户名或密码输入错误");
            
        }
        i ++;
        }
        
    }

6.代码复审

7.测试报告

 

8.事后总结

 写代码时总是出错,修改了很多次,所以做时要提前做好计划,避免做时无从下手,要进行多次代码复审和测试工作

工作时间比

口算题卡开发

预估时间

实际所用时间

计划

 15

10

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

 15

10

开发

 89

 93

  • 需求分析

 10

8

  • 生成设计文档

 8

 10

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

 10

 8

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

 8

 5

  • 具体设计

 10

 15

  • 具体编码

 20

 25

  • 代码复审

 8

 10

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

15

12

报告

 11

10

  • 测试报告

 3

 3

  • 计算工作量

3

 2

  • 事后总结,并提出过程改进计划

 5

 5

总共花费时间

115

113

 

原文地址:https://www.cnblogs.com/group6/p/14826878.html