zoukankan      html  css  js  c++  java
  • 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


     

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

  • 相关阅读:
    Flutter form 的表单 input
    FloatingActionButton 实现类似 闲鱼 App 底部导航凸起按钮
    Flutter 中的常见的按钮组件 以及自 定义按钮组件
    Drawer 侧边栏、以及侧边栏内 容布局
    AppBar 自定义顶部导航按钮 图标、颜色 以及 TabBar 定义顶部 Tab 切换 通过TabController 定义TabBar
    清空路由 路由替换 返回到根路由
    应对ubuntu linux图形界面卡住的方法
    [转] 一块赚零花钱
    [转]在树莓派上搭建LAMP服务
    ssh保持连接
  • 原文地址:https://www.cnblogs.com/ijinping/p/8635976.html
Copyright © 2011-2022 走看看