《个人开发流程》 --计应191第二小组闪迪

《个人开发流程》 --第二小组闪迪

一、需求分析
使用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();

}
}

五、运算结果

《个人开发流程》 --计应191第二小组闪迪

 

六、个人软件开发流程(psp)

《个人开发流程》 --计应191第二小组闪迪

 

 


七、总结
这个项目流程,按照开发流程的逻辑,一步一步走显着思路清晰,但编写代码花费了大量时间,需要勤敲代码,增加熟练度。

上一篇:Hive函数


下一篇:D. Dr. Evil Underscores(思维+贪心+字典树dfs)