zoukankan      html  css  js  c++  java
  • 软件工程个人作业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.上课未及时完成原因:

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

  • 相关阅读:
    HDU4366 Successor 线段树+预处理
    POJ2823 Sliding Window 单调队列
    HDU寻找最大值 递推求连续区间
    UVA846 Steps 二分查找
    HDU3415 Max Sum of MaxKsubsequence 单调队列
    HDU时间挑战 树状数组
    UVA10168 Summation of Four Primes 哥德巴赫猜想
    UESTC我要长高 DP优化
    HDUChess 递推
    HDU4362 Dragon Ball DP+优化
  • 原文地址:https://www.cnblogs.com/xieshiyu/p/6485941.html
Copyright © 2011-2022 走看看