结对编程项目-四则运算(第一周阶段性总结)
2017-05-14 23:40
375 查看
结对编程项目-四则运算(阶段性总结)
需求分析
题目生成多运算符(可设计层级)
包含括号(可单独使用)
无重复题目(可单独使用)
生成有意义的题目(例如:5x(5x5)等等)
等级划分
Level 0:题目可相同,十以内加减法
level 1:题目不重复,十以内加减法
level 2:题目可重复,二十以内加减法
设计思路
计算部分中缀表达式转成后缀表达式
后缀表达式计算
题目部分
使用for循环生成题目
去重(将题目从中缀转成后缀,将其排序,判断是否有重复)(存在bug)
括号的生成(使用两个随机数代表括号的位置)(存在bug)
有意义的题目(使用list类中的subList)
实现过程中的关键代码解释
测试方法
运行过程截图
代码托管地址
遇到的困难及解决方法
当我们生成混合运算的时候,如何让随机生成括号的问题困扰了我们很久,就是考虑到如果生成了左括号如何让它一定生成右括号,不使代码算式出错的问题。构思很久以后我们只想到了如何没有错误的生成一组括号。
private String promber2() { List<String> list = new ArrayList<String>(); String[] strings; do { list.add(number()); for (int i = 1; i < lenth(); i++) { list.add(symbol()); list.add(number()); } do { Random r1 = new Random(); s1 = r1.nextInt(list.size() - 3); } while (s1 % 2 != 0); int s = list.size(); do { Random r2 = new Random(); s2 = r2.nextInt(s) + (s1 + 4); } while (s2 % 2 != 0 || s2 > s); list.add(s1, "("); list.add(s2, ")"); String[] str = new String[list.size()]; for (int i = 0; i < list.size(); i++) { str[i] = list.get(i); } strings = str; } while ((strings[0].equals("(") && strings[strings.length - 1].equals(")"))); lis = list.subList(s1, s2); String c = " "; for (int i = 0; i < strings.length; i++) { c += (strings[i] + " "); } return c; } public String promber3(){ String s; do { s = promber2(); } while (!isOperation1(s) || !isOperation2(s)); return s; }
但是怎样实现多组,如果用循环一个一个比较的话,在题的数目多的时候会出现代码运行速度较慢的缺点。
感想
结对编程给我带来了很多收获,泰毓同学在代码的构建和实现方面比较强,同时他也教会了我许多新的知识,而且,通过结对学习这种方式,为了不拖累队友我们不得不去学,可以说给我们的学习增加的动力,在和泰毓学习的过程中,两个人坐在那里一起讨论,一起研究解决方案,将问题一起解决的时候不仅学到了东西还感觉很开心。PSP
PSP2.1 | Personal Software Process Stages | 预估耗时(小时) | 实际耗时(小时) |
---|---|---|---|
Planning | 计划 | 0.5 | 0.5 |
· Estimate | · 估计这个任务需要多少时间 | 0.5 | 0.5 |
Development | 开发 | 12.2 | 18.5 |
· Analysis | · 需求分析 (包括学习新技术) | 2 | 3 |
· Design Spec | · 生成设计文档 | 0.5 | 0.5 |
· Design Review | · 设计复审 (和同事审核设计文档) | 0.2 | 0.5 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 0.5 | 0.5 |
· Design | · 具体设计 | 2 | 3 |
· Coding | · 具体编码 | 2 | 4 |
· Code Review | · 代码复审 | 2 | 2 |
· Test | · 测试(自我测试,修改代码,提交修改) | 3 | 5 |
Reporting | 报告 | 2.5 | 1.5 |
· Test Report | · 测试报告 | 2 | 1 |
· Size Measurement | · 计算工作量 | 0.5 | 0.5 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 1 | 0.5 |
总计 | 15.2 | 20.5 |
相关文章推荐
- 20162322 朱娅霖 结对编程项目-四则运算 第一周阶段性总结
- 结对编程项目 “四则运算”第一周阶段性总结
- 结对编程项目-四则运算-第一周阶段性总结
- 结对编程项目-四则运算-第二周阶段总结 20162305李昱兴
- 作业四: 结对编程项目---四则运算(更新)
- 结对编程项目-四则运算 第一周输出阶段总结博客 20162305
- 结对编程项目-四则运算
- 作业四:结对编程项目---四则运算
- 结对编程项目-四则运算(阶段性总结)
- 作业四: 结对编程项目---四则运算 1
- 结对编程项目---四则运算(代码)
- 结对编程项目:优化四则运算程序
- 作业四:结对编程项目--四则运算
- 20162330 结对编程项目-四则运算 第一周 阶段总结
- 作业四: 结对编程项目---四则运算
- (改进)结对编程项目:小学生四则运算.
- 结对编程项目--四则运算
- 结对-四则运算-结对项目总结
- 20162303 结对编程项目-四则运算 第一周输出阶段总结博客
- 结对项目——四则运算