一:需求分析
1: 编写小学四则运算测试系统,要求完成两位数的加,减,乘,除四则运算。能根据用户的输入来选择运算种类,用户输入答案后可以判断正误,做完一次测试后,用户可以决定是否继续进行下一次运算。
2:题型选择界面设计,选择加、减、乘、除运算。
3:系统随机产生一百以内的两个数进行运算。
4:练习时,用户从键盘输入结果,正确和错误均有提示,错误的话提示下会有正确的结果。
二:设计流程图
三:核心代码:
package jiedui;
import java.util.Random;
import java.util.Scanner;
public class jiedui {
public static void main(String[] args) {
/**
* 一共循环10次。
*/
int rightNum = 0;//正确次数
int wrongNum = 0;//错误次数
for (int i =1; i <= 10; i++) {
System.out.println("请计算第" + i + "道题:");// 做到第几题,循环输出
int number1 =(int) (Math.random() * 10);
int number2 =(int) (Math.random() * 10);
Random num = new Random();// 生成随机运算符
int index = num.nextInt(3) + 1;
char[] fuhaos = { ‘+‘, ‘-‘, ‘*‘, ‘/‘ };
String fuhao = String.valueOf(fuhaos[index]);
Scanner scan = new Scanner(System.in);
if (fuhao.equals("+")) { // 进行加法运算
System.out.println(number1 + "+" + number2 + "=");
int input = scan.nextInt();
int sum = number1 + number2;
if (sum==input) {
System.out.println("正确");
rightNum++;
} else {
System.out.println("错误");
wrongNum++;
}
System.out.println("正确答案是:" + sum);
}else if (fuhao.equals("-")) { // 进行减法运算
System.out.println(number1 + "-" + number2 + "=");
int input = scan.nextInt();
int sum = number1 - number2;
if (sum==input) {
System.out.println("正确");
rightNum++;
} else {
System.out.println("错误");
wrongNum++;
}
System.out.println("正确答案是:" + sum);
}else if (fuhao.equals("*")) { // 进行乘法运算
System.out.println(number1 + "*" +number2 + "=");
int input = scan.nextInt();
int sum = number1 * number2;
if (sum==input) {
System.out.println("正确");
rightNum++;
} else {
System.out.println("错误");
wrongNum++;
}
System.out.println("正确答案是:" + sum);
}else { // 进行除法运算
System.out.println(number1 + "/" + number2 + "=");
int input = scan.nextInt();
int sum = number1 / number2;
if (sum==input) {
System.out.println("正确");
rightNum++;
} else {
System.out.println("错误");
wrongNum++;
}
System.out.println("正确答案是:" + sum);
}
}
System.out.println("做对" + rightNum + "题");
System.out.println("做错" + wrongNum + "题");
}
}
四:测试结果:
五;psp图
PSP2.1 |
任务内容 |
计划共完成需要的时间(min) |
实际完成需要的时间(min) |
Planning |
计划 |
30 |
26 |
· Estimate |
· 估计这个任务需要多少时间,并规划大致工作步骤 |
30 |
26 |
Development |
开发 |
200 |
200 |
·· Analysis |
需求分析 (包括学习新技术) |
40 |
40 |
· Design Spec |
· 生成设计文档 |
30 |
25 |
· Design Review |
· 设计复审 (和同事审核设计文档) |
20 |
15 |
· Coding Standard |
代码规范 (为目前的开发制定合适的规范) |
5 |
5 |
· Design |
具体设计 |
350 |
280 |
· Coding |
具体编码 |
150 |
140 |
· Code Review |
· 代码复审 |
10 |
8 |
· Test |
· 测试(自我测试,修改代码,提交修改) |
30 |
30 |
Reporting |
报告 |
33 |
30 |
·· Test Report |
· 测试报告 |
3 |
2 |
· Size Measurement |
计算工作量 |
10 |
10 |
· Postmortem & Process Improvement Plan |
· 事后总结 ,并提出过程改进计划 |
25 |
20 |
六:伙伴的评价
跟我结伴的是201542010208 格桑丹增。我的小伙伴是个很有主意的,我们怀着同样的目标,那就是齐心协力完成好这次任务。因为有了他的加入本次实验没有以往的枯燥无味,反而让我让我觉得有了成果跟人分享的喜悦感,失败也没以往那么的无助。所以感谢他能成为我的伙伴。
七:总结
第一次结伴完成任务让我认识到了三个臭皮匠,顶个诸葛亮。虽然话是那么说的。但是,因为我跟伙伴的java基础薄弱的问题而没能实现界面。以前自己一个人完成任务时遇到问题都是自己解决的,但是这次任务有了伙伴的加入解决问题的方法途径都都没有以往的单一。效率也提高了许多。还可以互相督促学习,两个人合作时还可以发现自己的优缺点。所以我认为这种合作方法不仅节省时间,更会大大提高我们的工作效率。