• java编写四则运算


     

     

    GitHub项目地址:https://github.com/TUOZF/test.git

    一、需求分析

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

    二、功能分析

    • 输入需要产生的题目个数。
    •  随机生成一个包含2~4个数字号的表达式。
    • 屏幕依次显示产生的题目以及计算结果。
    • 最后将运算表达式和计算结果写入result.txt文件。

    三、设计实现

    四、测试运行

    输入5时运行结果如图所示:

     五、核心代码

    if(cz.equals("/"))   //判断是否为除号,如果是除号,调用div函数,知道可以整除
          b=div(a,b);
    try
    { 
          if(s==0)     //s=0时随机产生两位的运算式
    {
      System.out.print(a+cz+b+"=");
      se.eval("var a="+a+";var b="+b+";print((a"+cz+"b));");    //调用js中的eval函数
      as=String.valueOf(a)+String.valueOf(cz)+String.valueOf(b);
      Expression.add(as);   //将表达式存入数组
    }
      if(s==1)   //s=1时随机产生三位数的运算式
    {
      System.out.print(a+cz+b+cz1+c+"="); 
      se.eval("var a="+a+";var b="+b+";var c="+c+";print((a"+cz+"b"+cz1+"c));");
      as=String.valueOf(a)+String.valueOf(cz)+String.valueOf(b)+String.valueOf(cz1)+String.valueOf(c);
      Expression.add(as);
    }
    if(s==2)    //s=2时随机产生四位数的运算式
    
    {
      System.out.print(a+cz+b+cz1+c+cz2+d+"="); 
      se.eval("var a="+a+";var b="+b+";var c="+c+";var d="+d+";print((a"+cz+"b"+cz1+"c"+cz2+"d));");
      as=String.valueOf(a)+String.valueOf(cz)+String.valueOf(b)+String.valueOf(cz1)+String.valueOf(c)+String.valueOf(cz2)+String.valueOf(d);
      Expression.add(as);
    }

     六、总结

      大二学习过java之后就再也没用java写过程序,很多东西都忘了,突然要用java写程序,感觉很吃力,再加上这程序确实有点难,起码对于我来说,很难,要产生随机式,还要保证能够整除,结果不能为负,这些问题看起来很简单,但实际写起来真的很难。经过几天网上搜索资料,参考同学的项目,只能说很侥幸的完成了这次项目,但部分功能并没有实现,例如结果不能为负。在整个写程序的过程中,最吃力的就是计算结果这一块了,不过经过几天的努力,总算写出来了,而且也从中学习到了很多知识。

      总的来说,虽然部分功能没能实现,但总体上来说还是可以的!

    七、生成PSP

    PSP2.1

    任务内容

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

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

    Planning

    计划

    10

    15

    Estimate

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

    8

    15

    Development

    开发

    180

    250

    Analysis

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

    10

    12

    Design Spec

     生成设计文档

    5

    6

    Design Review

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

    5

    6

    Coding Standard

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

    12

    25

    Design

      具体设计

    25

    35

    Coding

      具体编码

    120

    200

    Code Review

     代码复审

    14

    20

    Test

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

    12

    21

    Reporting

    报告

    5

    10

    Test Report

     测试报告

    4

    5

    Size Measurement

      计算工作量

    5

    7

    Postmortem & Process Improvement Plan

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

    5

    5

  • 相关阅读:
    PHP header的几种用法
    Elasticsearch 学习笔记
    elsearch 安装过程中遇到的错误解决方式
    python常用模块
    python 列表和字段的相关函数
    Nginx+Redis+Ehcache大型高并发高可用三层架构总结
    Docker技术底层架构剖析
    ELK日志分析平台环境部署 (yum安装)
    禁止root直接登陆linux系统
    浅谈Rsync+Inotify实时同步
  • 原文地址:https://www.cnblogs.com/TUOZF/p/8613306.html
Copyright © 2020-2023  润新知