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

Posted 少年黑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2017-2018-2 20172315 『Java程序设计』课程 结对编程练习_四则运算相关的知识,希望对你有一定的参考价值。

结对人员

  • 20172315胡智韬:中缀转后缀及对后缀表达式的计算
  • 20172312彭霖:分式相关的程序及解决细小问题
  • 20172318陆大岳:题目生成及驱动类的编译

需求分析

目标

1.自动生成题目

可独立使用(能实现自己编写测试类单独生成题目的功能)

可生成不同等级题目,类似于:

1级题目:2 + 5 =;
10 - 5 =
之类的两个数,一个运算符的题目

2.题目运算(判题)

可独立使用

实现中缀表达式转为后缀表达式并计算

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

3.支持真分数

可独立使用

实现分数算式的计算

3.题目去重(扩展需求,加分项)

可独立使用

实现对自动生成表达式的去重:如下

若生成:2 + 5 =;
5 + 2 =
为同一题目

分析

  • 需要设计个空的栈,依靠栈进行中缀转后缀及后缀的计算
  • 需要一个类来生成题目,类中要有题目分级的方法
  • 需要分数相关方法,实现分式的计算
  • 需要一个驱动类来实现以上所有功能

后续拓展

  • 对于分数还没有彻底实现,下周补上
  • 对于题目去重还未实现,下周补上

设计思路

  • 首先编译个StringToArithmetic类,实现中缀转后缀及对其进行计算
  • 再创建分数类,实现分数的计算
  • 再创建题目生成类,分等级随机生成题目
  • 最后创建主类,实现用户作答,判断对错等功能

遇到的困难及解决办法

  • 关于去重的问题,这个功能的实现我们组研究了很长的时间,还没有得出一个确切的方法。不过,我相信这个问题将会在下周得以解决。
  • 关于判断题目的正确率出现了一些小问题

    经过组内讨论后,得出了解决方案,如下图

UML

PSP

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 55 75
Estimate 估计这个任务需要多少时间 3 5
Development 开发 2400 3000
Analysis 需求分析 (包括学习新技术) 300 360
Coding Standard 代码规范 (为目前的开发制定合适的规范) 30 15
Design UML 设计项目UML类图 60 120
Coding 具体编码 2000 2400
Code Review 代码复审 30 40
Test 测试(自我测试,修改代码,提交修改) 240 300
Size Measurement 计算工作量(实际时间 ) 5 5
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 30 60
合计 5153 6380

以上是关于2017-2018-2 20172315 『Java程序设计』课程 结对编程练习_四则运算的主要内容,如果未能解决你的问题,请参考以下文章

20172315 2017-2018-2 《程序设计与数据结构》实验一报告

20172315 2017-2018-2 《程序设计与数据结构》第八周学习总结

20172315 2017-2018-2 《程序设计与数据结构》第2周学习总结

20172315 2017-2018-2 《程序设计与数据结构》第四周学习总结

20172315 2017-2018-2 《程序设计与数据结构》第十周学习总结

20172315 2017-2018-2 《程序设计与数据结构》第一周学习总结