结对编程:小学四则运算
这个作业属于哪个课程 | 软件工程课程 |
---|---|
这个作业要求在哪里 | 个人项目 - 作业 - 计科22级34班 - 班级博客 - 博客园 (cnblogs.com) |
作业要求 | 结对编程:小学四则运算 |
成员一 | 阿拉努尔3222004973 |
目录
1.PSP表格
2.效能分析
3.设计实现过程
4.关键代码
5.测试运行
6.总结
1.PSP表格
项目 | 内容 | 内容 | 内容 |
---|---|---|---|
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
Planning | 计划 | 20 | 30 |
·Estimate | · 估计这个任务需要多少时间 | 840 | 900 |
Development | 开发 | 720 | 810 |
· Analysis | · 需求分析 (包括学习新技术) | 60 | 120 |
· Design Spec | · 生成设计文档 | 10 | 10 |
· Design Review | · 设计复审 (和同事审核设计文档) | 10 | 10 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 10 | 10 |
· Design | · 具体设计 | 30 | 60 |
· Coding | · 具体编码 | 360 | 360 |
· Code Review | · 代码复审 | 60 | 60 |
· Test | · 测试(自我测试,修改代码,提交修改) | 180 | 180 |
Reporting | 报告 | 130 | 190 |
· Test Report | · 测试报告 | 60 | 120 |
· Size Measurement | · 计算工作量 | 10 | 10 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 60 | 60 |
合计 | 870 | 1030 |
2.效能分析
3.设计实现过程
代码目录图
4.关键代码
读取数组中的内容
随机生成整数
随机生成运算符号
测试生成题目
测试四册运算
测试将字符串转换为分数
主函数
public class Main {
public static void main(String[] args) throws Exception {
FileWriter fw1 = new FileWriter("Exercises.txt");
BufferedWriter bw1 = new BufferedWriter(fw1);
FileWriter fw2 = new FileWriter("Answers.txt");
BufferedWriter bw2 = new BufferedWriter(fw2);
Scanner sc = new Scanner(System.in);
Scanner sccc = new Scanner(System.in);
System.out.println("请输入题目个数");
String n = sc.next();
int num=Integer.parseInt(n);
System.out.println("请输入最大值");
String r = sc.next();
int max=Integer.parseInt(r);
for(int i=0;i<num;i++){
Count a=new Count();
a.maxium=max;
String flag=a.count();
if(flag!="F") {
String s=Integer.toString(i+1);
String[] str=flag.split("=");
bw1.write(s+". "+str[0]+"=");
bw1.newLine();
bw1.flush();
bw2.write(s+". "+str[1]);
bw2.newLine();
bw2.flush();
//System.out.println(a.count());
}else{
i=i-1;
}
}
bw1.close();
bw2.close();
System.out.println("请在Exercise.txt上输入答案,输入完成后在命令行输入任意数字提交");
String answerpath = sccc.next();
Check.check();
}
}
5.测试运行
测试用例一:
题目:
答案:
评分
测试用例二:
题目
答案
评分
测试用例三:
题目
答案
评分
6.总结
1.团队项目合作比较重要,先做好计划再动手不会很乱
2. 这次的项目,开始看题目以为很简单,但是到了实际做的时候,因为需求比较多,做起来非常困难,而且其中又很多自己原来没有学会的做法。而且这个程序做的不太好,虽然勉强能实现基本功能,但是括号、题目中有真分数等功能没有能实现,而且其中也有很多bug没有得到有效解决。在编写程序的时候,最主要的问题就是对随机出现的运算符进行讨论,因为出现了很多种情况,在编写过程中容易出现遗漏,或者算法不正确等情况,导致最后得到的答案不同,基本上处理方法都是调试,观察程序运行到哪步出现错误,然后对算法出错的那段代码进行修改。