zoukankan      html  css  js  c++  java
  • 2016012005+小学四则运算练习软件项目报告

    代码仓库地址:https://git.coding.net/q834934034/Homework.git

    一、需求分析

    1.程序接受一个输入参数n

    2.随机产生n道四则运算题

    3.运算数要求为:0和100之间

    4.运算符要求为:3到5个之间

    5.每个四则运算式中不能出现负数与小数

    6.将最终产生的结果存储到result.txt文件中

    二、功能设计

    1.程序接受一个随机数,随机产生运算数与运算符。

    2.程序由接受的n确定产生的运算式数量

    3.程序将接受的运算数与运算符随机组合产生运算式

    4.输出结果并将其存储到result.txt文件中

    三、设计与实现

    编写程序,接受一个数n,确定产生运算式的数量产生随机数number(3到5之间),产生运算数与运算符随机组合运算式与运算符,产生运算式判断运算式是否合法,若不合法,将其进行修改,合法则打印输出结果至result.txt文件。

    四、算法详解

    这里我使用了JS的eval()函数,它能够把一个字符串当作一个JS表达式一样去执行,能够帮我得到我想要的对象;这个函数是我通过百度找到的一个比较简便的方法,eval 函数对作为数字表达式的一个字符串进行求值,其语法为: 
        
       eval(expr) 
        
       此处 expr 是一个被求值的字符串参数。如果该字符串是一个表达式,eval 求该表达式的值;如果该参数代表一个或多个 JavaScript语句,那么 eval 执行这些语句。eval 函数可以用来把一个日期从一种格式(总是字符串)转换为数值表达式或数字.

    五、测试运行

    进入src文件夹,命令行输入javac Main.java,将类编译成class文件

    再输入java Main ,先进行一次非法输入测试,如图;

    再正常输入20测试,输出结果储存在生成的result.txt文件中。

    完成测试。

    六、代码展示

    产生运算式、随机数、随机生成运算符号

    产生随机运算式,产生运算符,将arr转化为数组,储存运算符、运算数、生成运算式

    判断是否产生负数或小数

    完整代码请参考仓库地址

    七、PSP

    PSP2.1

    任务内容

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

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

    Planning

    计划

    20

    30

    ·       Estimate

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

    10

    20

    Development

    开发

    350

    480

    ··       Analysis

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

    30

    60

    ·       Design Spec

    ·  生成设计文档

    20

    20

    ·       Design Review

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

    5

    10

    ·       Coding Standard

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

    5

    10

    ·       Design

      具体设计

    30

    60

    ·       Coding

      具体编码

    240

    300

    ·       Code Review

    ·  代码复审

    10

    10

    ·       Test

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

    10

    10

    Reporting

    报告

    40

    55

    ··       Test Report

    ·  测试报告

    20

    35

    ·       Size Measurement

      计算工作量

    5

    5

    ·       Postmortem & Process Improvement Plan

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

    15

    15

    八、总结

       这次项目对我来说是一个巨大的挑战,大一java没怎么学,现在突然要求用java设计一个程序,一开始我是崩溃的,甚至心理不由得产生了一点抵触的情绪,现在想起来还真是可笑...自己没学好又能怪谁,现在的加倍付出也是为了还大一时欠下的债吧!其实对于需求分析作业中已经给出,而设计这方面我是比较擅长的,只是苦于不会语法和算法,值得庆幸的是我在工作室学了JS,通过一周的JAVA学习以及网上查询方法,我发现可以通过引用JS中的函数方法来完成这个程序的需求,这让我心中无比激动,但是,现实往往不会那么理想,我在编写代码的过程中遇到很多问题,中间也断断续续问了又写写了又问,一直到今天早上完成了测试,开始写博文,现在是北京时间2018年3月25日晚20点31分,这项工程终于接近尾声,我的内心充满了满足、兴奋和成就感,这真的是我的第一个个人项目,虽说不大,但好歹也算个开始,通过这次,我也意识到我之前欠缺的很多,代码能力真的太差,从今以后我得更加努力,努力去弥补和别人的差距,努力不让自己后悔,越努力越幸运,加油吧!

    2018-03-25

  • 相关阅读:
    多线程
    文件上传案例及多线程版本
    TCP、UDP网络通信
    刷题:蘑菇街最小移动次数
    刷题:蘑菇街回文串
    刷题:蘑菇街
    Range Sum Query
    Submission Details
    Reverse Words in a String
    Counting Bits
  • 原文地址:https://www.cnblogs.com/xuezl327/p/8646834.html
Copyright © 2011-2022 走看看