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

  • 相关阅读:
    JavaScript中的闭包
    SQL 备忘
    SqlServer 2005 升级至SP2过程中出现"身份验证"无法通过的问题
    unable to start debugging on the web server iis does not list an application that matches the launched url
    Freebsd 编译内核
    Freebsd 6.2中关于无线网络的设定
    【Oracle】ORA01219
    【Linux】Windows到Linux的文件复制
    【Web】jar命令行生成jar包
    【Linux】CIFS挂载Windows共享
  • 原文地址:https://www.cnblogs.com/TUOZF/p/8613306.html
Copyright © 2011-2022 走看看