码迷,mamicode.com
首页 > 其他好文 > 详细

2016012075+小学四则运算练习软件项目报告

时间:2018-03-25 23:02:59      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:roc   写代码   生成   code   ali   center   report   功能设计   自己的   

2016012075+小学四则运算练习软件项目报告

一、需求分析

二、功能设计

三、设计实现

四、算法详解

五、测试详解

六、代码展示

七、总结

八、PSP展示

coding.net地址:https://git.coding.net/sparkleStar/arithmetic.git,代码在Main.java中

一、需求分析

1、编写目标

使用Java编程语言,独立完成一个35个运算符的四则运算练习的命令行软件开发。

2、基本功能需求

(1)程序可接收一个输入参数n,然后随机产生加减乘除(分别使用符号+-*÷来表示)练习题,

(2)每个数字在0100之间,运算符在3个到5个之间。

(3)每个练习题至少要包含2种运算符。

(4)所有的练习题在运算的过程中不得出现负数和非整数,比如不能出现3÷5+2=2.6,2-5+10=7等模式。

二、功能设计

实现四则混合运算的出题和计算。

三、设计实现

随机生成0100之间的数字,和35之间的运算符,通过arithmetic()函数进行运算,在运算过程中要通过if语句判断有没有负数和非整数,最后输出学号、运算式子和结果。

四、算法详解

  先产生两个随机数字并运算

 

 

  for(int i=0;i<n;i++)
            {
                int digit1=(int)(Math.random()*100);
                int digit2=(int)(Math.random()*100);
         
           
            if(operator=="+")
            {
               result=digit1+digit2;
            }
            else if(operator=="-")
            {
                if(digit1>digit2)
                {
               result=digit1-digit2;
                }
            }                         
            
              
            else if(operator=="*")
            {
               result=digit1*digit2;
            }
            else if(operator=="/")
            {
               
                if(digit1%digit2==0&digit2!=0){
                    result=digit1/digit2;
                    }
                }
          

 

再计算三个及以上的随机数,在乘或者除的过程中,要判断优先级,如果之前用的加法或者减法,则算后面两个随机数,否则将之前的运算结果与后面的随机数一起运算

 

 

 

 int digit3;
            String operator2;
            for(int j=2;j<7;j++){
            if(operator2=="+"&operator!=operator2)
            {
               result=result+digit3;
            }
            else if(operator2=="-"&operator!=operator2)
            {
                if(result>digit3)
                {
               result=result-digit3;
                }
            }                         
                
            else if(operator2=="*"&operator!=operator2)
            {
                if(operator=="+"){
                 int result1=digit2*digit3;
                result=result1+digit1;
            }
                else if(operator=="-"){
                     int result1=digit2*digit3;
                        result=result1-digit1;
                    }
                else{
                    result=result*digit3;
                }
            }
 

 


            }

我还进行了代码的负数和分数进行判断

 else if(operator2=="/"&operator!=operator2&digit3!=0)
            {
                if(operator=="+"){
                     int result1=digit2/digit3;
                    result=result1+digit1;
                }
                    else if(operator=="-"&digit2%digit3==0){
                         int result1=digit2/digit3;
                            result=result1-digit1;
                        }
                    else if(digit2%digit3==0){
                        result=result/digit3;
                    }
                
                
                }

 

五、测试详解

 

2016012075
7+8=15
15*6-5=85
7-6*10/2=5
85*5-6+27=38
16+48/12-7=13
51+1-14/2=45

 

 

七、总结

  在这次的作业中,我由于自己的代码能力较低,在写代码的过程中花费了太多时间,在代码里,代码的功能比较不全面,没有做出真分数的运算,只做了整数的运算,而且在思考问题的方面有一定的欠缺,考虑问题比较不全面。

  在写博客花的时间太短,对于代码的修改还比较粗糙。

八、PSP展示

PSP

任务内容

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

实际完成需要的时间(min

Planning

计划

 30

 28

Estimate

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

 480

 600

Development

开发

 360

 360

Analysis

需求分析

 30

 30

Design Spec

生成设计文档

 120

 180

Design Review

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

 30

 30

Coding Standard

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

 30

 30

Design

具体设计

 60

 60

Coding

具体编码

 240

 240

Code Review

代码复审

 30

 30

Test

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

 60

 60

Reporting

测试报告

 120

 180

Size Measurement

计算工作量

 30

 30

Postmortem&Process

Improvement Plan

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

 30

 30

2016012075+小学四则运算练习软件项目报告

标签:roc   写代码   生成   code   ali   center   report   功能设计   自己的   

原文地址:https://www.cnblogs.com/xieyy127/p/8647356.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!