结对学习编程(第一周)
结对编程阶段总结(第一周)
需求分析
- 实现一个命令行程序,要求:
- 自动生成小学四则运算题目(加、减、乘、除)(已实现)
- 支持整数(已实现)
- 支持多运算符(比如生成包含100个运算符的题目)(还未实现)
- 支持真分数(未实现)
- 统计正确率(未成功实现)
设计过程
- 首先将输出的函数作为一个类单独分离出来。
- 再将输出类细化。在本代码中我将其分为了生成算式和判断正误的两个部分。
- 考虑到随机生成题目的要求,我想到了所学到的Random类。并尝试引用。
- 再将输出函数打磨。开始进行主函数的编辑。
- 主类的主要任务就是对正确题目的数目进行统计,以及提示程序使用者的答题情况。目前进行答题情况的统计是为了后续加入统计系统而准备的。
- 基本完成编写。
关键部分
判断相关运算并计算结果
switch(this.operator().toCharArray()[0]){
case '+':result=this.getA()+this.getB();break;
case '-':result=this.getA()-this.getB();break;
case '×':result=this.getA()*this.getB();break;
case '÷':result=this.getA()/this.getB();break;
}
使用Random类生成随机题目
a=new Random().nextInt(100);
b=new Random().nextInt(100);
i=new Random().nextInt(4);
Judge函数,用于判断答案是否正确
public boolean judge(String s){
int i,result = 0;
try{
i=Integer.valueOf(s).intValue();
}catch(Exception e){
return false;
}
运行过程截图
代码托管
编程过程中遇到的问题
- 起初不知道如何生成Random题目,但是对课本非常熟悉的李天林同学立刻想到了Random类。我们一起翻书查找,很快解决了问题。
- 统计使用者题目正确数量上遇到了一定的阻碍,本想直接实现统计正确率的,但是由于时间不足,没有能够将其完美实现,定会在下周完成。
- 对于题目数量的要求目前还只能通过修改代码本体来实现,这是一个非常失败的点,但是我们会努力和尝试区域做的更好,在要求时间内完成代码。
PSP表格
步骤 | 耗时 | 百分比 |
---|---|---|
学习相关思路 | 40min | 26% |
设计程序思路 | 30min | 20% |
代码实现 | 60min | 40% |
bug调试 | 20min | 13% |
博客总结 | 40min | 26% |
对伙伴的评价
我与李天林同学的相处非常融洽,代码编写的过程也是两人一起努力构思、努力实现的结果。没有什么特别需要改进的地方,望继续保持。