• 软件工程(第二次作业)


    需求分析

    功能需求:

    1、能自动生成小学四则运算题目。

    2、程序能接受用户输入答案,并判定对错。

    3、给出总共正确的数量。

    设计

    1、定义s为一组1至4的随机数,使用which(s)语句,case s 分别为四则运算的加减乘除。在case 语句中定义两个变量,为a和b,使它们能产生0至100之间的随机数,用来做四则运算。

    2、which语句外层在编写一个while语句,使得which能循环多次,进行多个计算。

    3、定义一个h记录做题正确的数目,初始值为0。

    代码实现

    代码:

    import java.util.Scanner;


    public class ruanjian {


    public static int suiji(int num1,int num2){
    int C=(int)num1+(int)(Math.random()*(num2-num1));
    return C;
    }
    public static void main(String[] args) {

    int S,a,b,i=1,f=0,h=0;
    double D;
    while(i<=5){
    S=suiji(1,4);
    i=i+1;
    a=suiji(0,100);
    b=suiji(0,100);
    switch(S){
    case 1 :
    System.out.println(a+"+"+b+"=");
    Scanner reader=new Scanner(System.in);
    D=reader.nextInt();
    if(D==a+b){
    h++;
    }
    else{
    System.out.println("答错了,正确答案是:"+(a+b));

    }
    break;
    case 2 :
    System.out.println(a+"*"+b+"=");
    Scanner reader1=new Scanner(System.in);
    D=reader1.nextInt();
    if(D==a*b){
    h++;
    }
    else{
    System.out.println("答错了,正确答案是:"+(a*b));

    }
    break;
    case 3 :
    System.out.println(a+"-"+b+"=");
    Scanner reader2=new Scanner(System.in);
    D=reader2.nextInt();
    if(D==a-b){
    h++;
    }
    else{
    System.out.println("答错了,正确答案是:"+(a-b));

    }
    break;
    case 4 :
    System.out.println(a+"/"+b+"=");
    Scanner reader3=new Scanner(System.in);
    D=reader3.nextInt();
    if(D==a/b){
    h++;
    }
    else{
    System.out.println("答错了,正确答案是:"+(a/b));

    }
    break;
    }
    continue;
    }
    System.out.println("您一共答对了"+h+"道题");
    }

    }

    程序效果截图:

    PSP耗时统计

    总结

    对于程序的编写思路事先就写在稿纸上,只花了一个晚上就把最简单的代码写出来了,但是在修改过程中遇到了几个问题,对于break和continue选择一度陷入困境,因为我的代码在运行多个计算时a和b显示的是同一个值,我以为是break和continue没有选择对,但在向老师咨询后发现我定义的a与b产生随机数的步骤写在了while循环之前。除此之外我希望能在之后的设计改进中能同时列出多个题目,使得使用者能同时写出答案。

  • 相关阅读:
    树莓派服务器搭建
    设计模式之装饰者模式
    设计模式之建造者模式
    Java IO
    设计模式之抽象工厂模式
    常用排序算法(堆排序)
    Struts2框架简介和示例
    静态代理和利用反射形成的动态代理(JDK动态代理)
    常用排序算法(插入排序,快速排序,归并排序,堆排序)
    设计模式之简单工厂和工厂方法模式
  • 原文地址:https://www.cnblogs.com/suifengqing/p/4403434.html
Copyright © 2020-2023  润新知