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

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

1.项目内容解析

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

    2.设计思路内容

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

    3.本周上交成果

    (1).UML类图

    1332971-20180501212201216-1282357617.png

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

  • 问题1.符号类型在测试输出中一直相同,数字在输出中一直相同。
    1332971-20180501194836212-502728498.png

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

  • 问题2.分数不能正常输出。
    1332971-20180501195206328-1042279356.png

  • 问题2的解决:在循环中没有给实例化数组实例化对象,因此无法调用fraction方法,在加入实例化对象后解决了问题所在。
    1332971-20180501195438062-1510781351.jpg

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

  • 问题3的解决:小组同学将其转化成变量引用了进去。
  • 问题4:双等号错误,在初次试用面对用户的类时,出现了双等号错误。
    1332971-20180501202613091-1016264926.png

  • 问题4的解决:在循环外面的result处加等号,才能在末尾输出一个“=”。
    1332971-20180501202725223-368277061.png
    1332971-20180501202739007-1958768360.png

  • 问题5:输出中一直问题9重复,找不到问题所在。
    1332971-20180501202901506-1204626281.png

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

  • 问题6.在拆分字符的时候,StringToKenizer 比String.toCharArray好,分数不方便分割。
    :1332971-20180501203351204-674406469.png

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

    测试部分截图

    1.用户体验类截图
    1332971-20180501213654218-2091668915.png

2.中缀变后缀截图
1332971-20180501213902638-2008484027.png

3.后缀表达式计算截图
1332971-20180501214355959-1512666993.png

队友互评

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

感悟

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

PSP时间统计

PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划6065
Estimate估计这个任务需要多少时间32
Development开发20003000
Analysis需求分析 (包括学习新技术)350300
Coding Standard代码规范 (为目前的开发制定合适的规范)6010
Design UML设计项目UML类图6060
Coding具体编码15002000
Code Review代码复审3030
Test测试(自我测试,修改代码,提交修改)300300
Size Measurement计算工作量(实际时间 )22
Postmortem & Process Improvement Plan事后总结, 并提出过程改进计划3010
合计43955229

参考资料

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

转载于:https://www.cnblogs.com/LXY462283007/p/8977341.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值