您的位置:首页 > 编程语言

结对编程项目-四则运算(第一周阶段性总结)

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.1Personal Software Process Stages预估耗时(小时)实际耗时(小时)
Planning计划0.50.5
· Estimate· 估计这个任务需要多少时间0.50.5
Development开发12.218.5
· Analysis· 需求分析 (包括学习新技术)23
· Design Spec· 生成设计文档0.50.5
· Design Review· 设计复审 (和同事审核设计文档)0.20.5
· Coding Standard· 代码规范 (为目前的开发制定合适的规范)0.50.5
· Design· 具体设计23
· Coding· 具体编码24
· Code Review· 代码复审22
· Test· 测试(自我测试,修改代码,提交修改)35
Reporting报告2.51.5
· Test Report· 测试报告21
· Size Measurement· 计算工作量0.50.5
· Postmortem & Process Improvement Plan· 事后总结, 并提出过程改进计划10.5
总计15.220.5
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: