• 个人开发流程 --计应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();
    
    }
    }

    五、运算结果

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


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

  • 相关阅读:
    《Perceptual Losses for Real-Time Style Transfer and Super-Resolution》论文笔记
    《StackGAN: Text to Photo-realistic Image Synthesis with Stacked GAN》论文笔记
    《Image-to-Image Translation with Conditional Adversarial Networks》论文笔记
    深度学习模型相关知识(2)
    深度学习模型相关知识(1)
    常用深度学习模型介绍(2)
    1111111111111111111
    常用深度学习模型介绍(1)
    tensorflow函数介绍 (5)
    tensorboard可视化(先写一点点)
  • 原文地址:https://www.cnblogs.com/jinpai/p/14663785.html
Copyright © 2020-2023  润新知