相关测试过程截图(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. Linux VFS的主要的数据结构

    先说明一下,linux内核中各种数据结构也不停的在变,所以不同版本的内核各个数据结构的定义可能会差别很大,这一组关于linux 文件系统的文章中的代码都摘自linux-2.6.34.1. VFS依赖于 ...

  2. OpenCV学习系列(一) Mac下OpenCV + xcode人脸检测实现

    # OpenCV学习系列(一) Mac下OpenCV + xcode人脸检测实现 [-= 博客目录 =-] 1-学习目标 1.1-本章介绍 1.2-实践内容 1.3-相关说明 2-学习过程 2.1-环 ...

  3. JavaScript总结(一)

    什么是JavaScript? 首先我们要知道它是什么?JavaScript是一门专门用来对网页进行编程的脚本语言:因为我是学习Java之后再来学习JavaScript的,所以我的第一疑问JavaScr ...

  4. Noip前的大抱佛脚----文章索引

    Noip前的大抱佛脚----赛前任务 Noip前的大抱佛脚----考场配置 Noip前的大抱佛脚----数论 Noip前的大抱佛脚----图论 Noip前的大抱佛脚----动态规划 Noip前的大抱佛 ...

  5. HBase数据结构(读书笔记 )

    背景: 最近在做一些跟大数据相关的东西,涉及到数据的存储和分析,考虑各个方面,选择使用HBase进行存储,使用原生Java API进行数据分析,之后会陆续写一系列来说明最近做的东西,给像我这样未曾涉及 ...

  6. 2 CRM 讲师与学生,highcharts应用

    一.讲师与学生简介 1 初始化 course_record,studyrecord, 2 考勤 3 录入成绩 4 显示成绩 ajax 查询 5 上传作业(os模块) 6 下载作业 二. 初始化 ,st ...

  7. 【BZOJ1044】[HAOI2008]木棍分割

    [BZOJ1044][HAOI2008]木棍分割 题面 bzoj 洛谷 题解 第一问显然可以二分出来的. 第二问: 设\(dp[i][j]\)表示前\(i\)个,切了\(j\)组的方案数 发现每次转移 ...

  8. #2009. 「SCOI2015」小凸玩密室

    神仙题啊.完全想不出 首先看方案.可以从任意一个点开始,在这个点要先走完子树,然后走到父亲,再走兄弟,再走父亲的父亲,父亲的兄弟..一直走到1,1的另外一个子树,结束. 完全不会鸭.jpg 设f[i] ...

  9. 【正经向】NOIP2017烤后总结

    [正经向]NOIP2017烤后总结 Warning: 合法的评论(举例): 博主辣么juruo还来参加NOIP,不要脸 不合法的评论(举例): %%%%%博主太强了,我菜爆了 博主将删除不合法评论,& ...

  10. java实现哈弗曼树

    O(∩_∩)O~~ 概述 我想学过数据结构的小伙伴一定都认识哈弗曼,这位大神发明了大名鼎鼎的“最优二叉树”,为了纪念他呢,我们称之为“哈弗曼树”.哈弗曼树可以用于哈弗曼编码,编码的话学问可就大了,比如 ...