第五次作业:结对项目-四则运算 “软件”之升级版

 这个作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2232

我的姓名:郑泽锐   学号201606120071

我结对同伴的姓名:李先灿    学号:201606120073

本次作业的代码在我的github地址:https://github.com/lengdongd/lengdong/tree/master/caculateTest

开发环境:IntelliJ Idea。

我们选取了5个方向,分别为

  1. 程序可以出带括号的正整数四则运算,支持分数,除法保留两位小数,如:(1/3+1)*2 = 2.67,特别注意:这里是2.67而非2.66,或保持分数形式:8/3
  2. 可以出表达式里含有负整数(负整数最小不小于-100)的题目,且负数需要带括号,用户输入的结果不用带括号。如: 2*(-4) = -8
  3. 用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数
  4. 程序可以出单个整数阶乘的题目:如:4!=24;
  5. 程序可以设置皮肤功能,可以改变界面的颜色即可;

分工:我负责subject类的编写,功能为生成运算的题目,并且返回各个题目的结果

 


 

 

第一部分:需求分析

   从个人项目出发,将程序改装成一个单机带用户界面(不是控制台)的程序,这个程序最基本要达到:

  • 生成题目,单个题目最多不能超过4个运算符,操作数小于100;
  • 用户可以输入答案;
  • 若用户输入答案正确,则提示正确;若答案错误,则提示错误,并要提示正确答案是多少

 

第二部分:概要设计

(1)sizeyunsuan类算法设计说明:生成窗体,负责显示获取数据等功能;

(2)Subject类算法设计说明:生成题库,计算答案等;


第三部分:详细设计

(1)Subject类算法设计说明:

  

Subject类构造方法的功能:参数为number:传入用户的题目的数量,在类里面调用其他方法。

 (2)star()方法

 

 

定义了三个-99 — 99 的随机数,作为运算数,定义了judge作为判断是阶层还是普通算术的变量,定义j k作为符号变量

 

 

如果是阶层,就把阶层的算式放在字符串数组subjrct[]里面,然后进行结果运算保存到result里面

 

生成题目的一部分代码,如果遇到符号的地方,就往左右都添加括号

 


 

 

算法部分截图


 

 第四部分:调试报告

(1)问题:一开始写显示的时候有一些显示不正常,后来发现是赋值没有弄好,在写算法的时候有时候会出 错误,后来发现是一些转换double转int出现的错误,一些低级错误以后要吸取教训

 界面:

     

 

     

颜色变换

    


五、过程耗时估计与时间统计表

 

PSP2.1 Personal Software Process Stages Time Senior Student Time
Planning 计划 8 6
· Estimate 估计这个任务需要多少时间 12 10
Development 开发 60 40
· Analysis 需求分析 (包括学习新技术) 8 10
· Design Spec 生成设计文档 0 0
· Design Review 设计复审 3 5
· Coding Standard 代码规范 4 3
· Design 具体设计 10 13
· Coding 具体编码 35 25
· Code Review 代码复审 10 9
· Test 测试(自我测试,修改代码,提交修改) 10 20
Reporting 报告 9 6
· 测试报告 0 0
· 计算工作量 5 2
· 并提出过程改进计划 0 0

六、结对过程照片

posted on 2018-10-29 11:30  冷冻  阅读(140)  评论(1编辑  收藏  举报

导航