结对编程练习_四则运算(一)

一.结对对象
结对学号:20175120
姓名:彭宇辰
结对伙伴博客:https://home.cnblogs.com/u/1751-pyc
结对宣言:成功是无数次失败的结果

二.编程分析
功能要求
(1)能按照不同数量的运算符号生成难度不同的四则运算式子。
(2)可以独立使用;可以计算真分数;可以判断结果是否正确;可以计算正确率;可以由中缀表达式转化成后缀表达式并输出结果。
(3)利用随机数,生成不重复可独立使用的题目。
需求理解
(1)随机生成题目的类,要满足客户央求得难度和题目数目。
(2)创建一个可以将中缀表达式转化为后缀表达式的类。
(3)创建一个可以计算后缀表达式结果的类。
(4)创建一个可以判断题目对错和正确率的类。
后续扩展
如何根据客户需求产生不同的数量不同难度的题目。
三.编程思路
(1)如何能够随机输出题目,如果要求更高的话可以根据客户需求输出题目等级和题目个数?(将运算符号存储在数组里,用random随机选择运算符和生成1-100的数字,一阶的直接用+连接就可以了,二阶及以上的需要用到for循环。至于客户对难度的选择,用switch语句,客户输入几级难度就到那个难度的case。)
(2)如何把中缀表达式转化成后缀表达式?(stack,首先栈为空,从左到右扫描原式,遇到操作数直接输出,并且输出一个空格作为两个操作数的分隔符;遇到运算符,与栈顶相比,比栈顶级别高就进栈,否则就退出栈顶元素并输出,然后输出一个空格做分隔符。并且在入栈之前,要先创造一个二维数组定义运算符的优先级)
(3)如何计算后缀表达式?(设置一个操作数栈,开始栈为空,从左开始扫描,与操作数进栈,若与运算符,就从栈里退出两个元素,先退出的放右边,后退出的放左边,运算后进栈,直到扫描完毕最后那个元素就是结果)
(4)如何判断对错和正确率(对错的话先在程序里计算出正确结果但是不输出,再与客户输入的结果做比较,一致输出true,不一致输出false。正确率的话就是用正确的题数除以总题数)
UML类图如下:

四.遇到的问题以及解决办法
问题1及解决办法:最开始走偏了,用main方法生成了题目,并没有创建类。原因是因为main方法有些操作就不能进行,比如switch、for之类的就会有错误提示。其实不要懒惰,老老实实创建类就可以了
public class test {
public static void main(String[] args) {
levelclass a = new levelclass();
a.produce();
}
}
五.目前进度
目前一级可以运行,也可以计算正确率。二级和二级以上就不能支持了。

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

posted @ 2019-04-04 17:01  20175131王泽龙  阅读(326)  评论(0编辑  收藏  举报