20172307 / 20172311 结对编程项目-四则运算 第三周阶段总结
小组信息
- 领航员:赵晓海
副驾驶:黄宇瑭 - 成绩划分:
赵晓海:60%
黄宇瑭:40%
相关测试过程及截图
Creat
类(创建题目类)测试截图:
Transform
类(中缀转后缀类)测试截图:
Calculate
类(计算后缀表达式)测试截图:
Test
类(交互程序)
代码:
import java.text.DecimalFormat;
import java.text.FieldPosition;
import java.text.NumberFormat;
import java.text.ParsePosition;
import java.util.Scanner;
/*
Test.java Author:赵晓海 黄宇瑭
实现生成题目、让用户答题、判断题目是否正确、统计题目个数和正确率。
*/
public class Test {
public static void main(String[] args) {
int num; // 题目个数
int correct=0; //回答正确的题目个数
int rate; // 题目等级
double accuracy; // 答题的正确率
String []Question; //存放题目的数组
Scanner scanner=new Scanner(System.in);
System.out.print("请您输入要生成题目的个数: ");
num=scanner.nextInt();
Question=new String[num];//实例化保存生成题目的数组
System.out.print("请你输入生成题目的等级: ");
rate=scanner.nextInt();
Create create=new Create(num,rate);
create.QuestionNum();
Question=create.getArraylist();
int start=0;
while (start<num)
{
System.out.println("第"+(start+1)+"题: "+Question[start]+"
"+"请输入您的计算结果: ");
String answer=scanner.next();
Transform trans=new Transform(Question[start]);
trans.transform();
String transformed =trans.getLast();
Calculate calcu=new Calculate(transformed);
calcu.ToResult();
String result=calcu.getResult();
if (answer.equals(result)==true)
{
correct++;
System.out.println("正确答案是: "+result+" ,您的回答正确,请继续作答");
System.out.println();
}
else
{
System.out.println("正确答案是: "+result+" ,您的回答错误,请继续作答");
System.out.println();
}
start++;
}
System.out.println();
accuracy=(double)correct/num;
DecimalFormat fmt=new DecimalFormat("0.####");
String accurancy2=fmt.format(accuracy);
Double accurancy3=Double.valueOf(accurancy2);
NumberFormat format = NumberFormat.getPercentInstance();
System.out.println("您一共回答了"+num+"道题目,答对了"+correct+"道题目"+"
答题的正确率为: "+format.format(accurancy3)
}
}
Test
测试效果截图
测试中遇到的问题及解决方法
-
交互程序运行时,输出题目后,直接跳出下一句,没有给用户输入。
-
解决方法:查看代码后发现只要把原来的
System.out.print
改成System.out.println
就可以了。
(结对项目码云链接)
小组成员项目感想
黄宇瑭:这次结对项目完成后感觉自己的能力得到了锻炼。在这里再次感谢我的结队伙伴对我的帮助。
赵晓海:结对编程真的比自己编程的效率高的多!!!非常感谢结对伙伴给予我的巨大帮助!!!
类图更新
PSP更新
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 60 | 70 |
Estimate | 估计这个任务需要多少时间 | 30 | 30 |
Development | 开发 | 600 | 700 |
Analysis | 需求分析 (包括学习新技术) | 120 | 180 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 30 | 20 |
Design UML | 设计项目UML类图 | 60 | 90 |
Coding | 具体编码 | 180 | 210 |
Code Review | 代码复审 | 180 | 120 |
Test | 测试(自我测试,修改代码,提交修改) | 120 | 120 |
Size Measurement | 计算工作量(实际时间 | 30 | 20 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 30 | 60 |
合计 | 1440 | 1620 |