20165235 结对编程项目-四则运算 整体总结

20165235 结对编程项目-四则运算 整体总结

一、需求分析

  • 本次实验需要产生随机数然后对其进行相应的计算。产生随机数可以直接在主类中进行,四则运算可以通过堆栈实现,可能会出现分母为零的bug,也要对其进行相应的修复。可以将字符序列装换成字符数组,在对字符数组中“/”符号之后的数字进行判断,如果是0就返回-1。

    二、设计思路

  • 本次实验总共分为两个思路:(1)是通过类Operate中的calculate方法进行计算,计算的数值由主类Main给出。并对其修复了分母为零的bug(在Main类中进行了修改),如果你在输入中存在除了0-9以及运算符以外的数字则不影响结果,所以没有改。(因为字符堆栈SignStack只将加减乘除字符压入堆栈中,其余的会略过)。(2)我用question主类产生随机数然后调用Operate1类(其实跟(1)中Operate没什么区别,只是bug是直接在本类中修改)中的calculate方法进行计算。(计算有些误差!!!还没找到解决办法)
  • 以下就是我思路(1)的UML图。
    1296711-20180422211312477-90285377.png

运行过程截图

思路一的测试
  • 主函数输入图:
    1296711-20180422211401740-2110304012.png
  • 结果图:
    1296711-20180422211452347-1120820260.png
  • Bug修复测试图(如果输入的是正常结果会计算下去,如果分母为零则会输出error并返回-1,本来想让程序直接退出,但是不方便进行Junit测试,所以没有修改)
    1296711-20180422215848173-1504571429.png

    思路二的测试
  • 主函数产生随机数,并进行四则运算
    1296711-20180422214720958-1119069171.png

    Junit测试

  • 在本次测试中对正常值和分母为零的异常值进行了测试,对与输入的字符序列中有其他字符没有进行测试,因为不影响结果。我俩也没能想出其他的异常情况。所以就测试了这两组。在测试中要把在Main中的修复bug的部分代码移入Operate1类中,然后对Operate1进行测试,(的确有些复杂,这是我当初设计时候的失误)。测试图如下:
    1296711-20180422214527293-1948507544.png

代码托管

思路一代码托管

转载于:https://www.cnblogs.com/qy20165235/p/8909772.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值