20165215 结队编程项目——四则运算第二周
目录
需求分析
### 基本需求
- 实现一个命令行程序,要求:
- 自动生成小学四则运算题目(加、减、乘、除)
- 支持整数
- 支持多运算符(比如生成包含100个运算符的题目)
- 支持真分数
- 统计正确率
- 多语言支持:```简体中文```,``` 繁體中文```,``` English```
- 生成题目去重
设计思路
核心代码
- 声明哈希表使三种语言对应下面数组第1、2、3位
```
System.out.printf("Please choose a language and type it! \n" +
"请你选择一种语言并且输入对应的缩写!\n" +
"請妳選擇壹種語言並且輸入對應的縮寫!\n" +
"1.English 2.简体中文 3.繁體中文\n");
HashMap
lanList = new HashMap();
lanList.put("1",0);
lanList.put("2",1);
lanList.put("3",2);
```
- 生成整数类型的多项表达式
```
public IntegerExpression(int itemNum){
this.itemNum = itemNum;
if(itemNum<2)this.itemNum=2;//强制多项表达式的数字不少于两个
else {
for(int i =0;i < itemNum;i++){
num.add(initItem());
if(i>=1){if(op.get(i-1)=="/"){//若前面已执行完除法运算,防止其出现小数点
num.set(i-1,num.get(i)*((int)(Math.random()*4+2)));
op.add("+");
}
else op.add(initOp());
}
else op.add(initOp());
}
}
}
```
功能截图
结对感受
- 结对对象:20165209 陈思兵
- [伙伴博客](www.cnblogs.com/tutu233/p/8911015.html)
- 感受:本次结对编程中我们探讨出问题的求解思路后,便可以分工进行类的创建,每人负责不同的区域,遇到问题时互相答疑解惑,最后再一起编写主类将它们串起来,大大提升了编写的效率。
PSP
PSP2.1 |
Personal Software Process Stages |
预估耗时(小时) |
实际耗时(小时) |
Planning |
计划 |
1 |
1.5 |
Estimate |
估计这个任务需要多少时间 |
11.5 |
15 |
Analysis |
需求分析 (包括学习新技术) |
2 |
3 |
Design Spec |
生成设计文档 |
0.5 |
0.5 |
Design Review |
设计复审 (和同事审核设计文档) |
0.5 |
0.5 |
Coding Standard |
代码规范 (为目前的开发制定合适的规范) |
0.5 |
0.5 |
Design |
具体设计 |
1 |
1.5 |
Coding |
具体编码 |
1 |
1.5 |
Code Review |
代码复审 |
0.5 |
0.5 |
Test |
测试(自我测试,修改代码,提交修改) |
1 |
1 |
Reporting |
报告 |
1 |
1 |
Test Report |
测试报告 |
1 |
1.5 |
Size Measurement |
计算工作量 |
0.5 |
0.5 |
Postmortem & Process Improvement Plan |
事后总结, 并提出过程改进计划 |
1 |
1.5 |