https://github.com/gsdz/yunsuan.git
一:需求分析
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 | 
六:伙伴的评价
跟我结伴的是201571030331 益西卓嘎。我的伙伴有很独特的想法和主见,此次实验中有了我的伙伴实验的效果和各个方面大大不同,实验中遇到很多困难但我们依然没放弃,一直坚持真的很感谢我的伙伴。
这次的实验中遇到很多困难,因为我跟伙伴的java基础薄弱的问题而没能实现界面。但是和好伙伴一起完成这次作业是跟以往大大不同,有什么问题和她一起解决,实验效率也提高了许多。我发现合作和个人之间有很大区别。
