20172312 2017-2018-2 结对编程--四则运算实验总结

Posted silver-1029

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20172312 2017-2018-2 结对编程--四则运算实验总结相关的知识,希望对你有一定的参考价值。

结对对象

20172312 彭霖

20172315 胡智韬

20172318 陆大岳(组长)

  • 需求分析

    以结对小组形式编写代码,实现以下功能:
    1.自动生成题目
    可独立使用(能实现自己编写测试类单独生成题目的功能)
    可生成不同等级题目,类似于:
    1级题目:2 + 5 =
    10 - 5 =
    分析:使用Random生成随机数构成算式以及符号以及if语句形成两个等级。

  • 题目运算(判题)
    可独立使用
    实现中缀表达式转为后缀表达式并计算
    分析:运用了两个栈进行计算,第一个将中缀转换为后缀,第二个计算后缀(第二个我个人是通过百度查找get的)
  • 支持真分数
    可独立使用
    实现分数算式的计算
    分析:运用第四周的Rationalnumber类修改增加各种与整数的运算,目前我们只实现了独立使用,还没有将分数的计算编入主要的main程序里。
  • 题目去重(扩展需求,加分项)
    可独立使用
    实现对自动生成表达式的去重:如下
    若生成:2 + 5 =
    5 + 2 =
    为同一题目。
    分析: 加分项而且有些困难,所以本周暂未进行。

    代码规范

    使用IDEA自带的首行缩进,较为方便便于运用(即为3个空格的缩进)。

    设计思路

  • 生成随机运算式和不同等级: 题目需要生成。首先用方法Random生成了运算数,在定义一个随机数,随机抽取运算符,并且使用了循环,通过确定循环次数来确定题目等级。
    目前总共分为两个等级(后面有了括号以及分数之后会增加等级)
    第一个等级:一个运算符
    第二个等级:两个运算符
  • 题目运算:总共使用了两个栈,一个用来储存符号,一个用来储存数字。通过出栈,进栈的方式来进行将运算式由中缀表达式转为后缀表达式。
  • 支持真分数:使用了第五章的RationalNumber类,并使用随机数来生成分子分母,但是我们并没有讨论是否是真分数,因为在后面的题目生成中估计到会产生许多的假分数,于是没有进行真假分数的处理。
  • 生成括号:感觉目前我们连分数都还没有搞清,所以括号处在搁置状态,下周将补上。

    UML图

     技术分享图片

     

    技术分享图片

     

     

    问题统计

  • 问题1:计算正确率的时候出现了全对正确率为1,错一道即为全部错误。

     

    技术分享图片

     

  • 问题1解决方案:后来发现是错用了除号和取余号。

  • 技术分享图片

     

  • 小组成员评价

     

  • 20172315 胡智韬

  • 编写中缀转后缀以及计算的部分(脏活累活,辛苦了QwQ)

  • 20172318 陆大岳
  • 编写main类统筹规划(最容易出错的地方,不容易QwQ)
  • 相关过程截图

    技术分享图片

     



PSP时间统计

PSP2.1Personal 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

其他

表示这个是真的难,不仅仅是工作量的巨大,更是各种方法直接的数据类型转换等不协调出现问题,我们组由于其本上个人每个类遇到瓶颈的时候都会求助组员,所以我们组的很多数据类型都非常的统一协调。但是巨大的工作量以及各种细节问题让我们难以应付,导致
























以上是关于20172312 2017-2018-2 结对编程--四则运算实验总结的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

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

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

20165236 2017-2018-2 《Java程序设计》结对编程练习_四则运算