相关测试过程截图(JUnit)

  • JudgeTest:对计算及将整数化为分数的测试

  • SuffixExpressionTest:中缀转后缀的测试

  • RationalNumberTest:对RationalNumber类的getNumerator、getDenominator、reciprocal、add、subtract、multiply、divide的测试

代码测试

  • 四则运算测试成功

  • 写入文件的成功实现

小组各个成员信息

  • 谭鑫20172305
  • 王禹涵20172323
  • 方艺雯20172314

测试过程中遇到的困难及解决方法

  • 问题一:在测试的时候发现部分题目计算错误,但是单独使用计算类做测试的时候答案是正确的。

  • 问题一解决:之后进行了多次测试与单个类的测试,结果无误,就没有修改代码,也不知道为什么突然就错了。
  • 问题二:在最初几个类整合到一起测试时,出现了无法运行的乱码问题,但在多次运行后发现一会正常运行输出无误,一会就乱码了。
  • 问题二解决:最后发现是加括号的问题,本来设计的是运算符和数字之间都有一个空格,但是产生的情况是两个空格或有的地方没空格。
  • 问题三:在进行测试的时候输出的为一个“=”。

  • 问题三解决:原因在于计算类写的传入的参数为不带“=”的后缀表达式,而在中缀转后缀时,“=”为终止的符号,删掉有关“=”的代码没有什么大影响就解决了,如图

但是在之后的测试中又发现计算错误,图中的式子计算为错误答案,然后就进行调试,发现是在RationalNumber类中出问题,结果发现小组成员在编写自己的部分时,对RationalNumber类进行修改来满足自己的要求,所以我们用了不同的RationalNumber。

给出小组最终贡献度划分

方艺雯 王禹涵 谭鑫
贡献度 33.3% 33.3% 33.3%

小组各成员项目感想

  • 方一文
    这次的编程任务我主要负责有关计算方面和JUnit测试的部分。在最初实现四则运算的时候,感觉一头雾水,之后专注于自己负责的代码,助教也帮助修改了错误,小组成员都很努力,在第二周终于每个人都完成了自己的部分并测试无误,但合在一起却发现不能运行成功,由于代码太长助教也无法找出问题所在,一时陷入了僵局,最后谭鑫同学勤勤恳恳修改bug,后来发现测试没有大问题,我的计算类减法运算中两个参数位置写反了,结果算出来1-2=1,还有中缀转后缀中会输出“=”而我写的不需要“=”,稍微修改后合在一起就没有什么大问题了,团队的力量确实很强大。同时两位小伙伴付出了很多,感谢!

  • 王二许
    本次结对编程我主要负责的是中缀转后缀代码的编写。主要的难点在于中缀转后缀运算符优先级表的建立,我采取的大概是最笨的方法,一个一个的罗列运算符比较的情况,再给出相应的运算方法。但是能预测的情况毕竟有限,所以我花了大量的时间不断的进行测试对没有考虑到的情况进行补充。其中印象比较深的是(1 + 2 * 3)和(1 * 2 + 3)两种情况的补充,最开始我以为两类情况是相同的,所以归于一个方法处理,后来才在测试中发现两者因为运算符的优先级不同,转后缀的步骤是有区别的,当时其实思考了很久。
    通过此次结对编程活动,我的编程能力有了一定的提高,特别是问题的分析和解决能力,此外在与组员的沟通中也不断的进行自我纠错,写代码的思路也有了扩宽。
    最后感谢两个小伙伴的大力支持!

  • 谭三金
    四则运算中我是负责生成中缀的式子和加括号,感觉自己的代码是相对前期的任务,所以。在他俩编写的过程,我又弄了一个心灵鸡汤的类,用于安慰一下算错的小同学们,同时又模仿成绩单的方式进行生成文件。在写的过程出现过很神奇的问题,就是那个人机交互有问题,我想是被前后句吞了,所以我改为next就好了。还有的一个问题就是括号的问题,到现在还有问题,特别恶心的很少情况下出现异常。和两位同学合作很给力,遇到困难不退缩,一起解决问题,而且最最重要的是都熬夜敲代码,想思路。合作的过程不光是增长自己的编程能力,而且增强自己的合作意识,未来的项目肯定会越来越大,一人之力肯定是不行的,合作才能最大限度的解决问题的。

给出项目的码云链接

码云链接

新的UML图

给出小组结对编程照片

2017-2018-2 『Java程序设计』课程 结对编程练习_四则运算的更多相关文章

  1. 2017-2018-2 165X 『Java程序设计』课程 结对编程练习_四则运算

    2017-2018-2 165X 『Java程序设计』课程 结对编程练习_四则运算 经过第一阶段的学习,同学们已经熟悉了这门语言基本的用法.在一次又一次对着电脑编写并提交代码,进行练习的时候,有没有觉 ...

  2. 2017-2018-2 20172310『Java程序设计』课程 结对编程练习_四则运算_第二周

    2017-2018-2 20172310『Java程序设计』课程 结对编程练习_四则运算_第二周 博客要求 组内同学需各自发表博客 博客中需包含以下内容: 相关过程截图 关键代码解释 遇到的困难及解决 ...

  3. 2017-2018-20172309 『Java程序设计』课程 结对编程练习_四则运算_第三周

    2017-2018-20172309 『Java程序设计』课程 结对编程练习_四则运算 组队成员: 仇夏 学号: 20172310 博客地址: @王志伟 四则运算第一周博客 @仇夏四则运算第一周博客 ...

  4. 2017-2018-20172309 『Java程序设计』课程 结对编程练习_四则运算——第一周

    2017-2018-20172309 『Java程序设计』课程 结对编程练习_四则运算 组队成员: 仇夏 学号: 20172310 博客地址:点击这里 1. 需求分析: 可生成题目: - 输入要想生成 ...

  5. 2017-2018-2 20165225『Java程序设计』课程 结对编程练习_四则运算

    2017-2018-2 20165225『Java程序设计』课程 结对编程练习_四则运算 需求分析: 支持整数,可进行多运算符运算,有优先级. 设计思路: 在有括号的情况下,先计算得出括号中的结果,如 ...

  6. 20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结

    20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结 结对伙伴 学号:20172306 姓名:刘辰 在这次项目的完成过程中刘辰同学付出了很多,在代码的实践上完成的很出色,在技 ...

  7. 20172311『Java程序设计』课程 结对编程练习_四则运算第一周阶段总结

    20172311『Java程序设计』课程 结对编程练习_四则运算第一周阶段总结 结对伙伴 学号 :20172307 姓名 :黄宇瑭 伙伴第一周博客地址: http://www.cnblogs.com/ ...

  8. 20172311『Java程序设计』课程 结对编程练习_四则运算第二周阶段总结

    20172311『Java程序设计』课程 结对编程练习_四则运算第二周阶段总结 结对伙伴 学号 :20172307 姓名 :黄宇瑭 伙伴第一周博客地址 对结对伙伴的评价:黄宇瑭同学的优势在于能够想出一 ...

  9. 20172313『Java程序设计』课程结对编程练习_四则运算第二周阶段总结

    20172313『Java程序设计』课程结对编程练习_四则运算第二周阶段总结 结对伙伴 20172326康皓越 博客地址(http://www.cnblogs.com/326477465-a/p/90 ...

  10. 20172321『Java程序设计』课程 结对编程练习_四则运算第二周阶段总结

    20172321『Java程序设计』课程 结对编程练习_四则运算第二周阶段总结 结对伙伴 学号 :20172324 姓名 :曾程 伙伴第一周博客地址: 对结对伙伴的评价:一个很优秀的同学,在这次项目中 ...

随机推荐

  1. springboot activiti 整合项目框架源码 druid 数据库连接池 shiro 安全框架

    官网:www.fhadmin.org 工作流模块---------------------------------------------------------------------------- ...

  2. ABAP-DBC录屏

    *&---------------------------------------------------------------------**& ZXXL_MM02_01*& ...

  3. 记录一下安装 mysql 的踩坑之路

    坑点: 1.旧的mysql没有删除干净.在安装mysql的时候,没有注意到,在输入 “mysqld install” 指令时跳出来 exits,存在于另一个文件夹之中,这影响了后来的很多操作,包括ro ...

  4. 利用js编写一个简单的html表单验证,验证通过时提交数据(附源码)

    <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8 ...

  5. Devc++编程过程中的一些报错总结

    以下都是我在使用Devc++的过程中出现过的错误,通过查找资料解决问题,今天小小地记录.整理一下. 1.[Error] invalid conversion from 'const char*' to ...

  6. C++快速开发样本工程的建立--简介

    背景 在开发项目过程中,一些功能库能反复被写被用,可以写成库被重用: 但是行业业务也随着换项目,每次重新写一次,如果把一些功能业务和框架绑定,配置绑定,只需要添加,修改,增加业务功能,就可以搭建C++ ...

  7. flink 常见问题整理

    1. xml-apis 冲突问题 javax.xml.parsers.FactoryConfigurationError: Provider for class javax.xml.parsers.D ...

  8. 【转】SQL中的锁、脏读、不可重复的读及虚读

    原文:http://blog.csdn.net/wjeson/article/details/9382067 锁的概述 一. 为什么要引入锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题 ...

  9. 20155318 2016-2017-2 《Java程序设计》第七学习总结

    20155318 2016-2017-2 <Java程序设计>第七学习总结 教材学习内容总结 学习目标 了解Lambda语法 了解方法引用 了解Fucntional与Stream API ...

  10. 2017-2018-1 20155320第十周课下作业-IPC

    2017-2018-1 20155320第十周课下作业-IPC 研究Linux下IPC机制:原理,优缺点,每种机制至少给一个示例,提交研究博客的链接 共享内存 管道 FIFO 信号 消息队列 共享内存 ...