172328 结对编程练习_四则运算 第一周 阶段总结

Posted lxy462283007

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了172328 结对编程练习_四则运算 第一周 阶段总结相关的知识,希望对你有一定的参考价值。

172328 结对编程练习_四则运算 第一周 阶段总结

1.项目内容解析

  • (1).自动生成不同的题目
  • (2).实现中缀表达式→后缀表达式
  • (3).支持真分数
  • (4).题目去重
  • (5).用户选择题目等级和题目数量
  • (6).给用户计算正确率
  • (7).错误处理测试,非法表达式
  • (8).分数化简

    2.设计思路内容

  • (1).先进行了小组讨论,对于整个题目进行了大体的分析和要点记录。
  • (2).确定了几个必有的模块,生成题目类,用户使用类,中缀表达式变后缀表达式类,后缀表达式计算类。
  • (3).对于每个模块的实现进行了一定的讨论,大体用那些方法和那种循环进行了确定。
  • (4).具体分配任务和实现。
  • (5).对于题目等级的主类Arithmetic类,进行了用方法来题目分级,将加减乘除运算符号放在一个随机数组中去产生,让一级题目实现简单的加减法。让二级题目实现乘除法。让三级题目实现加减乘除法。让四级题目实现分数的加减乘除运算,分数是运用我们之前学习的RationalNumber类,为分数的运算做了一个实现约分和真分数的方法。
  • (6).对于中缀表达式变成后缀表达式,我们建立一个符号栈和一个空数组,用条件语句进行运算优先级判断然后让数字进数组,符号进栈,有条理的转换出来。
  • (7).对于括号的添加,我们小组成员还在进一步讨论中。

    3.本周上交成果

    (1).UML类图

    技术分享图片

(2).编程过程中的问题和解决

  • 问题1.符号类型在测试输出中一直相同,数字在输出中一直相同。
    技术分享图片

  • 问题1的解决:将符号随机判断放在for循环里面,每次执行循环时都去取新的随机符号。数字同理。

  • 问题2.分数不能正常输出。
    技术分享图片

  • 问题2的解决:在循环中没有给实例化数组实例化对象,因此无法调用fraction方法,在加入实例化对象后解决了问题所在。
    技术分享图片

  • 问题3.在将中缀表达式变后缀表达式的过程中,不知道怎样把前一个类中生成的后缀表达式引用进来。

  • 问题3的解决:小组同学将其转化成变量引用了进去。
  • 问题4:双等号错误,在初次试用面对用户的类时,出现了双等号错误。
    技术分享图片

  • 问题4的解决:在循环外面的result处加等号,才能在末尾输出一个“=”。
    技术分享图片
    技术分享图片

  • 问题5:输出中一直问题9重复,找不到问题所在。
    技术分享图片

  • 问题5的解决:通过我小组成员段志轩的不断努力,该问题得到解决。在主类中设置了一个变量,通过循环里面的自增和自减成功解决了问题序号的美化输出。
    技术分享图片

  • 问题6.在拆分字符的时候,StringToKenizer 比String.toCharArray好,分数不方便分割。
    :技术分享图片

  • 问题6的解决:换成StringToKenizer。

    测试部分截图

    1.用户体验类截图
    技术分享图片

2.中缀变后缀截图
技术分享图片

3.后缀表达式计算截图
技术分享图片

队友互评

[20172301]:这次编程项目的主策划,主引导,主干事。他编写了中缀转后缀类以及后缀计算类。在各个环节也在不停帮助我们小组其他两位同学。
[20172304]:这次编程项目的灵感激发和驱动型人物。在加括号问题上,独特的想到了用ASCII表来判断的方法,现在虽然遇到了瓶颈,但还是在继续解决中。

感悟

本来不应该有自己的评价,但还是写在感悟里面吧。这次结对编程,我只做了最简单的用户使用类,并且在小问题上还有差错,经过屡次修订和改正才正常运行。在主类的编写中,也只参与了一小部分。本来想编写后缀计算的类,但是当时自己无从下手,五一又出去游玩了没有时间去花心思,所以这个步骤也是由队友完成的。理解代码,实现代码,操纵代码都是不同的境界和层次。没有时间的投入,没有足够的思考,我写不出来也很正常。后期会在编程项目中多下点功夫。

PSP时间统计

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

参考资料

1.结对编程练习
2.中缀转后缀

以上是关于172328 结对编程练习_四则运算 第一周 阶段总结的主要内容,如果未能解决你的问题,请参考以下文章

20172301 结对编程练习_四则运算 第一周 阶段总结

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

20175312 2018-2019-2 《Java程序设计》结对编程练习_四则运算(第一周:阶段性总结)

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

20172319 结对编程练习_四则运算第二周阶段性总结

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