20172304 结对编程--四则运算实验总结

20172304 结对编程--四则运算

结对对象

  • 20172301 郭恺
  • 20172328 李馨雨

    需求分析

    以结对小组形式编写代码,实现以下功能:
    1.自动生成题目
    可独立使用(能实现自己编写测试类单独生成题目的功能)
    可生成不同等级题目,类似于:
    1级题目:2 + 5 =
    10 - 5 =
    分析:这个可以用生成随机数的方法来做。

  • 题目运算(判题)
    可独立使用
    实现中缀表达式转为后缀表达式并计算
    分析:这个东西是要将算式转换为计算机理解的形式进行计算。
    判断用户答题正误,并输出正确结果
    分析:这个初步分析是要采用equals加循环的方法
  • 支持真分数
    可独立使用
    实现分数算式的计算
    解析:这个,之前章节的例子中有生成分数的例子,可以直接引用。
  • 题目去重(扩展需求,加分项)
    可独立使用
    实现对自动生成表达式的去重:如下
    若生成:2 + 5 =
    5 + 2 =
    为同一题目。
    解析: 因为是加分项所以本周暂时没有进行考虑,想着如果下周时间充裕就考虑一下。

    代码规范

    我们使用的是IDEA,有自带的缩进格式和代码规范。

    设计思路

  • 生成随机运算式和不同等级: 因为项目需要生成算式。所以我们用随机数方法Random生成了运算数,而将运算符使用char方法储存在了数组中,在定义一个随机数,随机抽取运算符,并且使用了循环,通过确定循环次数来确定题目等级。
    总共分为四个等级
    第一个等级:加减
    第二个等级:乘除
    第三个等级:加减乘除
    第四个等级:含有分数的加减乘除。
  • 题目运算:总共使用了两个栈,一个用来储存符号,一个用来储存数字。通过出栈,进栈的方式来进行将运算式由中缀表达式转为后缀表达式。
  • 支持真分数
  • 使用了第五章的RationalNumber类,并使用随机数来生成分子分母,并通过取余来判断是否生成的是真分数。
  • 生成括号:我尝试了操作,使用的是循环加等值判断,利用charAt方法将字符串中的每一个字符的char值与加减号的char值进行比较,然后将加减号的char值储存在数组中。再通过随机数插入括号,但是在实际运用中发现这种方法在判断两位数的时候会很很麻烦。所以后来放弃了这种方法。

    UML图

    1333068-20180501204441114-2014869651.jpg

    问题统计

  • 问题1:我们在生成的题目前加了题号,但是再生成是发现题号都是9。

    1333068-20180501210539357-790875179.png

  • 问题1解决方案:后来我们做了一个循环。如下图。

    1333068-20180501210702944-593301149.png

  • 问题2:双等号错误,在生成算式的时候带有两个等号。

    1333068-20180501211158494-2059715697.png

  • 问题二解决方案:因为双等号一开始放在了循环里,所以会有错误,所以后来,我们将等号加在了结果里。

    1333068-20180501211443002-90817417.png

    小组成员评价

    20172301 郭恺
    这是我们小组的核心和智囊。
    20172328 李馨雨
    这是我们小组的组织者。

    相关过程截图

    1333068-20180501213405534-1089207859.png
    1333068-20180501213418738-2001807220.png
    1333068-20180501213456227-260626539.png

PSP时间统计

PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划6065
Estimate估计这个任务需要多少时间32
Development开发20003000
Analysis需求分析 (包括学习新技术)350300
Coding Standard代码规范 (为目前的开发制定合适的规范)6010
Design UML设计项目UML类图6060
Coding具体编码15002000
Code Review代码复审3020
Test测试(自我测试,修改代码,提交修改)300300
Size Measurement计算工作量(实际时间22
Postmortem & Process Improvement Plan事后总结, 并提出过程改进计划3010
合计43955229

其他

这周是紧张的一周,各个小组都很紧张认真。我们小组也一样,不过在这种团队的合作下,我更加体会到了互帮互助的优越性以及不同思想碰撞时所产生的智慧的火花。虽然这周的目标只是将设计思路设计出来,但是我们也编写了不少代码。还有一些难点尚未攻克,不过我相信,只要我们通力合作,没有什么是不能被克服的。

转载于:https://www.cnblogs.com/15248252144dzx/p/8977588.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值