需求

实现一个命令行程序,要求:

1.自动生成小学四则运算题目(加、减、乘、除)
2.支持整数
3.支持多运算符(比如生成包含100个运算符的题目)
4.支持真分数
5.统计正确率

思路

首先我和结对同学构思了四则运算代码的模块,大致分为以下几个模块:
1.[四则运算](https://git.oschina.net/pdds2017/20162302-20162319/blob/master/src/四则运算.java?dir=0&filepath=src%2F四则运算.java&oid=85852cd7532d1cc3c918831e38334a333afd7cab&sha=2a99d5725ff323a8b3409d3b5201c4641ed40ca3]

2.[格式转换器](https://git.oschina.net/pdds2017/20162302-20162319/blob/master/src/格式转换器.java?dir=0&filepath=src%2F格式转换器.java&oid=6e86833e198dc7fcabe7cf6014e7872380abdecc&sha=2a99d5725ff323a8b3409d3b5201c4641ed40ca3)

3.[生成算式](https://git.oschina.net/pdds2017/20162302-20162319/blob/master/src/生成算式.java?dir=0&filepath=src%2F生成算式.java&oid=95ade512c91da7c47792736a6786e9b757282711&sha=2a99d5725ff323a8b3409d3b5201c4641ed40ca3)

4.[算式运算器](https://git.oschina.net/pdds2017/20162302-20162319/blob/master/src/算式运算器.java?dir=0&filepath=src%2F算式运算器.java&oid=01116f54c06a1269f313cb34d8d6e6145f023bb7&sha=2a99d5725ff323a8b3409d3b5201c4641ed40ca3)

5.[驱动器](https://git.oschina.net/pdds2017/20162302-20162319/blob/master/src/驱动器.java?dir=0&filepath=src%2F驱动器.java&oid=707909b56030f2422f7c22e25e270ba7b1164372&sha=2a99d5725ff323a8b3409d3b5201c4641ed40ca3)

Junit测试


写代码中遇到的困难

难题1:在编写四则运算的代码中,我和我的结对伙伴在最开始遇到的难题是分数类代码的编写。在运算中如何让程序区分分数与除法。
难题1解决方法:首先我们先编写了分数类的代码然后加上除法,发现程序不能正确识别两者区别。于是我们从字符串长度下手。写了一个这样的代码:(图片),于是难题1迎刃而解。
难题2:中缀式转后缀式的表达式
难题2解决方法:毫无头绪,最后只能借鉴了一下前辈的经验(http://www.cnblogs.com/sxdcgaq8080/p/6270341.html)
难题3:代码中分数与整数不兼容
难题3解决方法:实在是找不到能让两者兼容的办法,于是我们折中了一下,将一个代码分为两个,一个代码支持分数(

UML类图

PSP表格

PSP2.1 Personal Software Process Stages 预估耗时(小时) 实际耗时(小时)
Planning 计划 0.5 0.5
· Estimate · 估计这个任务需要多少时间 0.5 0.5
Development 开发 15 20
· Analysis · 需求分析 (包括学习新技术) 2 2
· Design Spec · 生成设计文档 0.5 0.5
· Design Review · 设计复审 (和同事审核设计文档) 0.5 0.5
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 1 1
· Design · 具体设计 3 3
· Coding · 具体编码 3 4
· Code Review · 代码复审 2 2
· Test · 测试(自我测试,修改代码,提交修改) 3 5
Reporting 报告 2.5 3
· Test Report · 测试报告 2 1
· Size Measurement · 计算工作量 0.5 0.5
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 1 1
总计 37 44.5

代码最终效果

合作伙伴

[20162302杨京典](http://www.cnblogs.com/yangjingdian/p/6852380.html)

posted on 2017-05-21 23:13  20162319莫礼钟  阅读(204)  评论(4编辑  收藏  举报