zoukankan      html  css  js  c++  java
  • 小学生口算题卡系统————计应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

     

  • 相关阅读:
    《Twinkle Twinkle Little Star》
    《牛客IOI周赛24-普及组B》
    You have to remove (or rename) that container to be able to reuse that name.
    MySQL查看服务器状态、数据库、表的命令
    【用户不在sudoers文件中】的两种解决方式
    Ubuntu20.04安装Docker时摊上的那些事儿
    Ubuntu20.04安装Docker以后设置阿里云镜像加速
    Ubuntu20.04默认更新源sources.list和第三方源推荐(干货!)
    Ubuntu必备软件之搜狗输入法
    Ubuntu20.04必备软件之截图工具
  • 原文地址:https://www.cnblogs.com/group6/p/14826878.html
Copyright © 2011-2022 走看看