20172304 结对编程--四则运算实验总结
20172304 结对编程--四则运算
结对对象
- 20172301 郭恺
20172328 李馨雨
需求分析
以结对小组形式编写代码,实现以下功能:
1.自动生成题目
可独立使用(能实现自己编写测试类单独生成题目的功能)
可生成不同等级题目,类似于:
1级题目:2 + 5 =
10 - 5 =
分析:这个可以用生成随机数的方法来做。- 题目运算(判题)
可独立使用
实现中缀表达式转为后缀表达式并计算
分析:这个东西是要将算式转换为计算机理解的形式进行计算。
判断用户答题正误,并输出正确结果
分析:这个初步分析是要采用equals加循环的方法 - 支持真分数
可独立使用
实现分数算式的计算
解析:这个,之前章节的例子中有生成分数的例子,可以直接引用。 题目去重(扩展需求,加分项)
可独立使用
实现对自动生成表达式的去重:如下
若生成:2 + 5 =
5 + 2 =
为同一题目。
解析: 因为是加分项所以本周暂时没有进行考虑,想着如果下周时间充裕就考虑一下。代码规范
我们使用的是IDEA,有自带的缩进格式和代码规范。
设计思路
- 生成随机运算式和不同等级: 因为项目需要生成算式。所以我们用随机数方法Random生成了运算数,而将运算符使用char方法储存在了数组中,在定义一个随机数,随机抽取运算符,并且使用了循环,通过确定循环次数来确定题目等级。
总共分为四个等级
第一个等级:加减
第二个等级:乘除
第三个等级:加减乘除
第四个等级:含有分数的加减乘除。 - 题目运算:总共使用了两个栈,一个用来储存符号,一个用来储存数字。通过出栈,进栈的方式来进行将运算式由中缀表达式转为后缀表达式。
- 支持真分数
- 使用了第五章的RationalNumber类,并使用随机数来生成分子分母,并通过取余来判断是否生成的是真分数。
生成括号:我尝试了操作,使用的是循环加等值判断,利用charAt方法将字符串中的每一个字符的char值与加减号的char值进行比较,然后将加减号的char值储存在数组中。再通过随机数插入括号,但是在实际运用中发现这种方法在判断两位数的时候会很很麻烦。所以后来放弃了这种方法。
UML图
问题统计
问题1:我们在生成的题目前加了题号,但是再生成是发现题号都是9。
问题1解决方案:后来我们做了一个循环。如下图。
问题2:双等号错误,在生成算式的时候带有两个等号。
问题二解决方案:因为双等号一开始放在了循环里,所以会有错误,所以后来,我们将等号加在了结果里。
小组成员评价
20172301 郭恺
这是我们小组的核心和智囊。
20172328 李馨雨
这是我们小组的组织者。相关过程截图
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 | 20 |
Test | 测试(自我测试,修改代码,提交修改) | 300 | 300 |
Size Measurement | 计算工作量(实际时间 | 2 | 2 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 30 | 10 |
合计 | 4395 | 5229 |
其他
这周是紧张的一周,各个小组都很紧张认真。我们小组也一样,不过在这种团队的合作下,我更加体会到了互帮互助的优越性以及不同思想碰撞时所产生的智慧的火花。虽然这周的目标只是将设计思路设计出来,但是我们也编写了不少代码。还有一些难点尚未攻克,不过我相信,只要我们通力合作,没有什么是不能被克服的。
转载于:https://www.cnblogs.com/15248252144dzx/p/8977588.html
20172304 结对编程--四则运算实验总结相关推荐
- 结对编程--------四则运算 实验总结2
结对编程----------四则运算 实验总结2 结对对象 20172301 郭恺 20172328 李馨雨 过程截图 这个是我们编写的main,叫ArithmeticTest1主要用于生成随机等级的 ...
- 20172316 结对编程-四则运算 第一周 阶段总结
20172316 结对编程-四则运算 第一周 阶段总结 1.项目内容 以结对小组形式编写代码,实现以下功能: 1.自动生成题目 可独立使用(能实现自己编写测试类单独生成题目的功能) 可生成不同等级题目 ...
- java 四则运算gui_结对编程-四则运算GUI的实现
一.项目成员以及coding地址: 二.结对编程题目描述 在个人作业1中,用各种语言实现了一个命令行的四则运算小程序.进一步,本次要求把这个程序做成GUI,成为一个有基本功能.一定价值的程序.在下面的 ...
- 张天钰 内大计算机学院,20175305张天钰Java结对编程四则运算
Java结对编程四则运算 一.题目描述:如何对表达式进行求值运算呢 1.中缀表达式与后缀表达式(娄老师讲解) 中缀表达式就是运算符号在运算数中间的表达式,比如1+2,顾名思义,后缀表达式就是运算符在运 ...
- 20162303 结对编程-四则运算(挑战出题)
结对编程-四则运算(挑战出题) 结对伙伴:20162307 张韵琪 需求分析 1.建立一个新的代码仓库用于储存代码 2.随机生成指定运算符个数.指定个数和指定存储路径的表达式,包括括号 3.根据要求进 ...
- 结对编程-四则运算生成
结对编程-四则运算生成 java实现四则运算程序 github传送门:https://github.com/JJYdesu/operation 成员:赖展飞 江家懿 一.项目要求 实现一个自动生成小学 ...
- postfixcalc函数 java_结对编程--四则运算(Java)萧英杰 夏浚杰
结对编程--四则运算(Java)萧英杰 夏浚杰 功能要求 题目:实现一个自动生成小学四则运算题目的命令行程序 使用 -n 参数控制生成题目的个数(实现) 使用 -r 参数控制题目中数值(自然数.真分数 ...
- 结对编程——四则运算过程
一.问题描述: 某公司程序员二柱的小孩上了小学二年级,老师让家长每天出100道(100以内)四则运算题目给小学生做. 二.结对对象:杨思思 博客地址:http://www.cnblogs.com/ci ...
- 结对编程——四则运算
题目:某公司程序员二柱的小孩上了小学二年级,老师让家长每天出30道(100以内)四则运算题目给小学生做. 采用语言:Java 结对对象:晏桂秀 博客地址:http://www.cn ...
最新文章
- 为什么机器学习项目非常难管理?
- 是否finally块总是用Java执行?
- 简单的图片处理servlet
- java 使用servlet做学生管理系统(无框架)
- mysql中主从_MySQL的主从
- try…except…finally…_用先……再……然后……描写蚂蚁搬家的动作?
- let finger cross
- cd : cannot create temp file for here-document: No space left on device
- 手把手教你学Dapr - 2. 必须知道的概念
- 智能物联网系统安全与防御【会议】
- Head First设计模式一:策略模式
- python里的拼接_Python拼接字符串的7种方法总结
- 《挑战程序设计竞赛》 读后感
- 二叉树遍历之递归与非递归遍历
- QT创建一个excel文件(通过save as 方法)
- 感知机(Perceptron)-《统计学习方法》例题对偶形式手算全过程
- 不要抹去 就让它在脸上自由奔淌吧
- 计算机基础知识 SERVER
- 【NOI2001】炮兵阵地 题解
- springboot下载excel(解决文件损坏问题)