《个人开发流程》 --第二小组闪迪
一、需求分析
使用JAVA编程语言,随机生成“四则运算”练习题,并给出答案。
二、功能设计
1.输入一个参数n,随机产生n道加减乘除运算(符号为+-*÷)
2.每个参加运算的数字在0~100间
3.每个运算的运算符个数为3~5个
三、设计实现
写一个实体类,在其中写上所需要的方法,用main方法计算结果
四、具体代码
package task;
import java.math.BigDecimal;
import java.util.Random;
import java.util.Scanner;
public class three {
static double sum = 0.0;
public static void main(String[] args) {
System.out.print("四则运算数目:");
Scanner input = new Scanner(System.in);
int n = input.nextInt();
int x, y, z, k1, k2;
Random ra = new Random();
for (int i = 0; i < n;) {
// 初始化
x = ra.nextInt(100);
k1 = ra.nextInt(4);
y = ra.nextInt(100);
k2 = ra.nextInt(4);
z = ra.nextInt(100);
// 计算 判断符号
if (k2 > 1 && k1 < 1) {
sum = Count(k2, y, z);
if (sum < 0)
continue;
Format();
sum = Count(k1, x, sum);
if (sum < 0)
continue;
Format();
System.out.print(x);
Print(k1);
System.out.print(y);
Print(k2);
System.out.println(z + "=" + sum);
} else {
sum = Count(k1, x, y);
if (sum < 0)
continue;
Format();
sum = Count(k2, sum, z);
if (sum < 0)
continue;
Format();
System.out.print(x);
Print(k1);
System.out.print(y);
Print(k2);
System.out.println(z + "=" + sum);
}
// 结果没有负数
if (sum >= 0)
i++;
}
}
// 判断符号并计算
private static double Count(int k, double x, double y) {
double s = 0.0;
if (k == 0) {
s = x + y;
} else if (k == 1) {
s = x - y;
} else if (k == 2) {
s = x * y;
} else if (k == 3) {
s = x / y;
}
return s;
}
// 打印运算符号
private static void Print(int k) {
switch (k) {
case 0:
System.out.print("+");
break;
case 1:
System.out.print("-");
break;
case 2:
System.out.print("*");
break;
case 3:
System.out.print("/");
break;
}
}
// 格式化double 最多保留小数点后两位
public static void Format() {
BigDecimal bd = new BigDecimal(sum);
bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP);
sum = bd.doubleValue();
}
}
五、运算结果
六、个人软件开发流程(psp)
七、总结
这个项目流程,按照开发流程的逻辑,一步一步走显着思路清晰,但编写代码花费了大量时间,需要勤敲代码,增加熟练度。