软件工程个人作业01

题目:

  学生的一个四则运算可以实现整数以及真分数,可以控制题目数并且可以查重。

程序设计思想:

  改程序主要是运用random函数实现随机数,然后运用while循环实现输出,但是在查重时应该运用数组来控制比较题的重复性。

程序的源代码:

  import java.util.Scanner;
public class AJCC {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入练习量:");
         int m=sc.nextInt();
         System.out.println("整数练习"+"1");
         System.out.println("真分数练习"+"2");
         System.out.println("请选择练习方式:");
         int t=sc.nextInt();
         String[] x=new String[m];
         String[] y=new String[m];
        switch(t)
        {
        case 1:
        {
            int a,b,c,j=0;
            boolean flag;
            while(j<m)
            {
                a=(int)(Math.random()*100);
                b=(int)(Math.random()*100);
                c=(int)(Math.random()*4);
                x[j]=new String();
                if(c==1) x[j]=a+"+"+b+"=";
                else if(c==2) x[j]=a+"-"+b+"=";
                else if(c==3) x[j]=a+"*"+b+"=";
                else x[j]=a+"/"+b+"=";
                flag=true;
                for(int k=0;k<j;k++)
                {
                    if(x[k].equals(x[j]))
                    {
                        flag=false;
                        break;
                    }
                }
                if(flag)
                {
                    System.out.println(x[j]);
                    j++;
                }
            }
            break;
        }    
        case 2:
        {    
            int h,k,l,f,p;
            boolean flag;
            System.out.println(m);
            int i=0;
            while(i<m)
            {
                y[i]=new String();
                h=(int)(Math.random()*100);
                k=(int)(Math.random()*100);
                f=(int)(Math.random()*100);
                p=(int)(Math.random()*100);
                l=(int)(Math.random()*4);
                
                if(h<k&&f<p)
                {
                    
                    if(l==1) y[i]="("+h+"/"+k+")"+" + "+"("+f+"/"+p+")"+"=";
                    else if(l==2) y[i]="("+h+"/"+k+")"+" - "+"("+f+"/"+p+")"+"=";
                    else if(l==3) y[i]="("+h+"/"+k+")"+" * "+"("+f+"/"+p+")"+"=";
                    else y[i]="("+h+"/"+k+")"+" / "+"("+f+"/"+p+")"+"=";
                    flag=true;
                    for(int k1=0;k1<i;k1++)
                    {
                        if(y[k1].equals(y[i]))
                        {
                            flag=false;
                            break;
                        }
                    }
                    if(flag)
                    {
                        System.out.println(y[i]);
                        i++;
                    }
                }
            }
            break;
            }
        }
    }

}

程序运行结果图:

 

原文地址:https://www.cnblogs.com/janson666/p/6511527.html