20172333 2017-2018-2 《程序设计与数据结构》实验四则运算报告

20172333 2017-2018-2 《程序设计与数据结构》实验四则运算报告

1.结对成员

李楠20172330

担任角色(团队分工)

  • [x] 1.前期分析流程
  • 领航员:严域俊
  • 操作员:李楠
  • 原因:我对于整个四则运算过程要求进行一一确定需要编写什么样的类,而李楠则是对于我们要编写的类寻找一些方法来进行实现,以及如何方便快捷的进行编写。
  • [x] 2.中期各自分工编写类
  • 该阶段主要是进行各自任务分工,由于之前的讨论我们的目的较为明确分为三个步奏,第一是我进行编写一个可以随机生成不同等级的题目类,其次就是李楠编写一个可以进行中缀转后缀并输出后缀表达式及结果的类来承接我的题目,最后由我来编写带有检测是否正确的方法的类,最终用一个测试类结束。
  • [x] 3.后期对于各种BUG的修正以及测试类的编写
  • 领航员:李楠
  • 操作员:严域俊
  • 分析:我进行相关类的编写,李楠对我进行技术指导。

2.需求分析

自动生成题目

  1. 一级题目只含有一个计算符(包含加减乘除)。
  2. 二级题目含有四个计算符.依次类推。
  3. 四级题目支持真分数。
  4. 所有题目均为100以内。
  5. 一旦建立题目之后定义一个变量获取该答案的结果
  6. 题库究竟是提前我们自己输入还是说到时候运用Random来进行随机使用?(目前定为一个方法,方法中读取用户需要的等级及个数进行随机输出题目)
  7. 题目的个数有没有限制。(暂无)

    题目运算

    1.中缀表达式转化为后缀表达式。

  8. 使用栈来进行转化过程(问题在于怎么转化)。图

2.判断用户答题正误,并输出正确结果

1.对于用户答题的结果使用Scanner类,将其值赋给一个特定变量,并使用 if语句进行判定并分别输出正确或者错误的结果,在if语句之后输出答案。

3.实验过程中遇到的问题和解决过程

问题1:编写题目生成的类时定义为了Main方法为主导的东西

问题1解决方案:编写过程中,个人对于先定义一个方法,再在一个测试类里用该方法的行为感到无聊且低效率,明明可以直接在一个Main方法里结束的,何必再编一个测试类,后来我花了一晚上编好程序,结果发现在想要导出我的题目给李楠来测试他的方法的时候发现无论如何都弄不出来,寻求张旭升学长帮助后,他给我致命一击,他说Main方法继承不了,向来都是类之间的继承,简洁明了的说就是我一个晚上的东西要重新化为我之前厌恶的类中的方法才可以导出。

问题2:在题目生成类与中缀转后缀类之间进行题目交换的时候出现了错误。

问题2解决方案:当用户只需要单个题目来进行转换的时候,两个的转换完美无缺,但是我设计的题目生成器是可以一次性生成多个题目的,就导致衔接出现了一丝问题,大概就是李楠所弄的那个类只接受我最后生成的题目。(目前尚未解决)

4.Uml图

5.结对评价

李楠:作为我的唯一的队友,并且承担了相对难度较高的中缀转后缀类的编写,并不出太大的问题,我觉得非常Nice,队友还是很牛皮的。

6.时间表(尚未总结完成后补)

参考资料

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

结对编程项目-四则运算

S.O.L.I.D 原则

猜你喜欢

转载自www.cnblogs.com/yanyujun527/p/8977979.html