《个人开发流程》 --第二小组闪迪
一、需求分析
使用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)
七、总结
这个项目流程,按照开发流程的逻辑,一步一步走显着思路清晰,但编写代码花费了大量时间,需要勤敲代码,增加熟练度。