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<String,Integer> lanList = new HashMap<String,Integer>();
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 陈思兵
- 伙伴博客
- 感受:本次结对编程中我们探讨出问题的求解思路后,便可以分工进行类的创建,每人负责不同的区域,遇到问题时互相答疑解惑,最后再一起编写主类将它们串起来,大大提升了编写的效率。
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 |