• 软件工程个人作业01


    1.程序设计思想:首先,写一个生成算式的方法,方法里面,生成4以内的随机数,分别用来表示加减乘除,因为Random方法不能直接生成一个数到一个数的随机数,只能从0开始,所以生成0到最大值减去最小值直接的随机数 ,然后在加上最小值,得到最大值和最小值直接的随机数,让两个数和他们的符号,形成一个String类型的字符串,最后返回这个字符串。然后在主函数里面写一个要求菜单,来控制打印数量和最小值、最大值,然后再通过一个for循环来进行生成所要生成的算式数量,再for循环里面通过调用生成算式方法,来获取算式,并且存放在一个数组当中,通过该算式和前面所有算式比较,相同的话继续生成新的算式,来避免重复性,最后输出数组,得到算式。

    2.程序源代码:

      

    package cal;
    import java.util.*;
    public class calculater {

    public static void main(String[] args) {
    // TODO 自动生成的方法存根

    Scanner in=new Scanner(System.in);
    int num=0;
    int large=0;
    int little=0;
    boolean flag=true;
    while(flag) //控制需要打印题目的个数
    {
    System.out.println("请输入需要生成的题目数量");
    num=in.nextInt();
    System.out.println("请输入题目上限");
    large=in.nextInt();
    System.out.println("请输入题目下限");
    little=in.nextInt();
    flag=false;
    }
    String n[]=new String [num];
    for(int i=0;i<num;i++) //避免题目重复
    {
    n[i]=calc(little,large);
    int j=i-1;
    while(j>=0)
    {
    if(n[i].equals(n[j])) //题目重复时,重新生成
    {
    n[i]=calc(little,large);
    j=i;
    }
    j--;
    }

    System.out.println(n[i]);

    }

    in.close();
    }

    public static String calc(int a,int b) //生成两个界限直接的随机数,并加上符号,
    {
    int f=0;int x=0;int y=0;
    Random random=new Random();
    String [] fh=new String [4];

    f=random.nextInt(4);
    x=random.nextInt(b-a)+a; //生成0--b-a直接的数,然后再+a 正好得到a-b直接的随机数
    y=random.nextInt(b-a)+a;
    fh[0]="+";
    fh[1]="-";
    fh[2]="*";
    fh[3]="/";
    if(f==3&&y==0)
    {
    y=random.nextInt(b-a)+a;
    }
    int z=x-y;
    if(f==1&&z<0)
    {int t=x;
    x=y;
    y=t;}
    return x+fh[f]+y+"=?";
    }

    }

    3.结果截图:

        

    4.上课未及时完成原因:

      思维有点混乱,再控制避免重复方法上犹豫,思路有点杂乱,没有找到一条清晰的路线导致未能及时完成。

  • 相关阅读:
    postgresql模糊查询json类型字段内某一属性值
    https://127.0.0.1:8080/test?param={%22..报错
    协同过滤算法简单实现
    开源推荐系统Librec中recommender模块算法了解——cf模块
    Python Flask 多环境配置
    Python序列化和反序列化 vs JSON
    Python自定义状态码枚举类
    python带参数装饰器使用
    Python日志配置类
    Python常量工具类
  • 原文地址:https://www.cnblogs.com/xieshiyu/p/6485941.html
Copyright © 2020-2023  润新知