一、结对对象
担任角色(本周交换角色,流动学习)
驾驶员(Driver):20165221 谭笑(是控制键盘输入的人)领航员(Navigator):20165234 刘津甫(起到领航、提醒的作用)搭档本次结对博客:20165234四则运算本次结对码云链接:四则运算二、需求分析
取自《结对编程项目-四则运算》
题目要求
自动生成小学四则运算题目(加、减、乘、除)
支持整数支持多运算符(比如生成包含100个运算符的题目)支持真分数统计正确率扩展要求处理生成题目并输出到文件
完成题目后从文件读入并判题生成题目不能去重去重:程序一次运行生成的题目不能重复,即任何两道题目不能通过有限次交换+和×左右的算术表达式变换为同一道题目。例如,23 + 45 = 和45 + 23 = 是重复的题目,6 × 8 = 和8 × 6 = 也是重复的题目。3+(2+1)和1+2+3这两个题目是重复的,由于+是左结合的,1+2+3等价于(1+2)+3,也就是3+(1+2),也就是3+(2+1)。但是1+2+3和3+2+1是不重复的两道题,因为1+2+3等价于(1+2)+3,而3+2+1等价于(3+2)+1,它们之间不能通过有限次交换变成同一个题目。三、设计思路
UML类图
四、核心代码
五、功能截图
测试要求内容
正常测试(正常整数运算)异常测试(未能实现的小数分数运算)边界测试(临界点的测试,如0处的运算)测试截图六、结对感受
本次结对编程中,我与搭档进行了角色互换,在上一周的代码基础上将代码进一步完善,并且添加了更多功能,使得代码能实现的操作更广泛。在上周实验中学习了JUnit单元测试,在这个方法的帮助下,显著提高了我们查错补漏的效率,修补了很多上周没写到的、写错了的bug。结对编程带给我们的是双份的收获,是两个人共同努力后的成果。