• 201571030308 小学生四则运算练习小程序


    Github源码地址链接:https://github.com/ijinping/SIZEYUNSUAN

    一.项目要求:

       尝试按照《构建之法》第2章中2.3所述PSP流程,使用JAVA编程语言,独立完成一个包含3到5个数字的四则运算练习的命令行软件开发。

    二.需求分析

    • 程序可接收一个输入参数n,然后随机产生n道加减乘除练习题,每个数字在 0 和 100 之间,运算符在3个到5个之间。
    • 为了让小学生得到充分锻炼,每个练习题至少要包含2种运算符。同时,由于小学生没有分数与负数的概念,你所出的练习题在运算过程中不得出现负数与非整数,比如不能出 3/5+2=2.6,2-5+10=7等算式。
    • 练习题生成好后,将你的学号与生成的n道练习题及其对应的正确答案输出到文件“result.txt”中,不要输出额外信息,文件目录与程序目录一致。当程序接收的参数为4时,以下为输出文件示例。

    201571030107

    (78*23)-(6*91) = 1248

    (3+36)*(34-21) = 507

    (15*81)*(14+87) = 122715

    (95-4)+(37-30) = 98

    支持有括号的运算式,包括出题与求解正确答案。注意,算式中存在的括号必须大于2个,且不得超过运算符的个数。

    三.功能设计

    1. 程序可接收一个输入参数n
    2. 可以随机产生n道四则运算练习题
    3. 生成的数字范围为0-100
    4. 要求至少包含2种运算符,即运算符个数为2个或两个以上,可知随机产生的数字至少有3个
    5. 不能出现负数与小数

    四.设计实现


    五.测试运行

     六.核心代码

    public static void main(String[] args) {
            // TODO Auto-generated method stub
            int x = 0,y,i;
            String m="201571030308";
            String a1;
            int d1=0;
            String d = null;
            System.out.println("输入学号开始");
            Scanner scan1=new Scanner(System.in);
            a1=scan1.next();
    if(a1.equals(m)){
            System.out.println("请输入题目的数量");
            Scanner scan2=new Scanner(System.in);
            x=scan2.nextInt();
            int daan[]=new int [x];
            System.out.println("请输入数值的范围");
            y=scan2.nextInt();
            for(i=0;i<x;i++){
                int a=(int)(Math.random()*y);//随机生成一个1-10的整数
                int b=(int)(Math.random()*y);//随机生成一个1-10的整数
                int  n=(int)(Math.random()*30)*2;//随机生成一个1-60的偶数
                int c=(int)(Math.random()*4);
     System.out.println("是否显示答案(显示请输入1)");
            if(scan2.nextInt()==1){
                for(i=0;i<x;i++){
                System.out.print(daan[i]+"     ");
                }
            } 
            }
                System.out.println("是否显示答案(显示请输入1)");
                if(scan1.nextInt()==1){
                    for(i=0;i<x;i++){
                    System.out.print(args[i]+"     ");
                    }
                }
                
            }

    七.总结 

           在设计较这个程序的时候,我采用了自顶向下的方法,将这个问题划分为几三个部分,第一部分是程序随机生成的题数,第二部分是具体生成的题的“样式”,第三部分是设计计算生成随机题的答案。每一部分又再细化分解,直到分解为较好解决问题为止。 

           第一次如此认真的查找信息,寻找资料的来完成这个程序,虽然很辛苦,但收获颇多

    八.展示PSP

    PSP2.1

    任务内容

    计划完成需要的时间(min)

    实际完成需要的时间(min)

    Planning

    计划

    20

    30

    ·       Estimate

    ·  估计这个任务需要多少时间,并规划大致工作步骤

    20

    30

    Development

    开发

    240

    270

    ··       Analysis

      需求分析 (包括学习新技术)

    30

    40

    ·       Design Spec

    ·  生成设计文档

    20

    20

    ·       Design Review

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

    10

    15

    ·       Coding Standard

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

    30

    40

    ·       Design

      具体设计

    10

    12

    ·       Coding

      具体编码

    36

    90

    ·       Code Review

    ·  代码复审

    7

    9

    ·       Test

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

    13

    21

    Reporting

    报告

    55

    50

    ··       Test Report

    ·  测试报告

    15

    10

    ·       Size Measurement

      计算工作量

    15

    20

    ·       Postmortem & Process Improvement Plan

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

    15

    1. 20


     

    ---恢复内容结束---

  • 相关阅读:
    hibernate4.3.10使用注解映射方式样例
    eclipse ssh连接sqlserver express
    window2012 64bit 安装sqlserver2012 64bit调用excel的驱动安装
    SharpZipLib要支持unicode的文件名称
    搜索数据库中的内容
    AIX 添加开机启动项
    oracle 分区表和分区索引
    oracle 临时表学习
    oracle sys sysman system 介绍
    oracle to_date函数(转载)
  • 原文地址:https://www.cnblogs.com/ijinping/p/8635976.html
Copyright © 2020-2023  润新知