出四则运算题目

发布时间:2022-07-05 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了出四则运算题目脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

今天完成了四则运算出题的第三阶段任务

继续写昨天的论文管理系

下面这个程序就是一个出四则运算题的系统

package sizeys;
import java.util.Random;
import java.lang.Math;
import java.util.Scanner;

public class Randomtest {
    
    public static int[] randomCommon(int min, int max, int n){
        if (n > (max - min + 1) || max < min) {
            return null;
        }
        int[] result = new int[n];
        int count = 0;
        while(count < n) {
            int num = (int) (Math.random() * (max - min)) + min;
            boolean flag = true;
            for (int j = 0; j < n; j++) {
                if(num == result[j]){
                    flag = false;
                    break;
                }
            }
            if(flag){
                result[count] = num;
                count++;
            }
        }
        return result;
    }
    
    public static char operator(int n,int se) {
        char op=' ';
        Random random = new Random();
        n = random.nextInt(100);
        if(se==1) 
        {
            swITch(n%4)
            {
            case 0:op = '+';break;
            case 1:op = '-';break;
            case 2:op = '*';break;
            case 3:op = '/';break;
            }
        }
        if(se==2)
        {
            switch(n%2)
            {
            case 0:op = '+';break;
            case 1:op = '-';break;
            }
        }
        return op;
    }
    
    public static void main(String[] args) {
        Random random = new Random();
        int a,b,c,d,n,op;
        //b随机第一个运算符 op随机第二个运算符 n出题个数 
        int i,select1,select2,select3,brackets;
        //select1选择乘除法 select2选择括号运算 select3输入操作数个数 brackets随机括号位置
        int min,max;
        
        Scanner sc = new Scanner(System.in);
        System.out.PRintln("请输入出题个数:");
        n = sc.nextInt();
        System.out.println("请输入任意数范围:");
        System.out.println("min=");
        min = sc.nextInt();
        System.out.println("max=");
        max = sc.nextInt();
        System.out.println("请输入操作数个数:");
        select3 = sc.nextInt();
        System.out.println("是否需要乘除法:1.需要 2.不需要");
        select1 = sc.nextInt();
        System.out.println("是否需要括号运算:1.需要 2.不需要");
        select2 = sc.nextInt();
        int[] arr = randomCommon(min,max,n*select3);
        if(n*select3>(max-min+1))
        {
            System.out.println("超出范围!");
            System.exit(0);
        }
        else
        {
            if(select3==2)
            {
                if(select1==1)
                {
                    for(i=0;i<n*select3;i++)
                    {
                        b = random.nextInt(100);
                        a = arr[i];
                        c = arr[i+1];
                        char oP3 = oPErator(b,select1);
                        System.out.println(""+a+op3+c);
                        i++;
                    }
                }
                else if(select1==2)
                {
                    for(i=0;i<n*select3;i++)
                    {
                        b = random.nextInt(100);
                        a = arr[i];
                        c = arr[i+1];
                        char op3 = operator(b,select1);
                        System.out.println(""+a+op3+c);
                        i++;
                    }
                }
            }
            if(select3==3) 
            {
                if(select1==1) {
                    if(select2==1)
                    {
                        for(i=0;i<select3*n;i++) {
                            b = random.nextInt(100);
                            op = random.nextInt(100);
                            brackets = random.nextInt(100);
                            a = arr[i];
                            c = arr[i+1];
                            d = arr[i+2];
                            char op1 = operator(b,select1);
                            char op2 = operator(op,select1);
                            switch(brackets%2)
                            {
                            case 0:System.out.println("("+a+op1+c+")"+op2+d);break;
                            case 1:System.out.println(""+a+op1+"("+c+op2+d+")");break;
                            }
                            i++;
                            i++;
                        }
                    }
                    if(select2==2)
                    {
                        for(i=0;i<select3*n;i++) {
                            b = random.nextInt(100);
                            op = random.nextInt(100);
                            a = arr[i];
                            c = arr[i+1];
                            d = arr[i+2];
                            char op1 = operator(b,select1);
                            char op2 = operator(op,select1);
                            System.out.println(""+a+op1+c+op2+d);
                            i++;
                            i++;
                        }
                    }
                }//需要乘除法select1==1
                else if(select1==2)
                {
                    if(select2==1)
                    {
                        for(i=0;i<n*3;i++) {
                            b = random.nextInt(100);
                            op = random.nextInt(100);
                            brackets = random.nextInt(100);
                            a = arr[i];
                            c = arr[i+1];
                            d = arr[i+2];
                            char op1 = operator(b,select1);
                            char op2 = operator(op,select1);
                            switch(brackets%2)
                            {
                            case 0:System.out.println("("+a+op1+c+")"+op2+d);break;
                            case 1:System.out.println(""+a+op1+"("+c+op2+d+")");break;
                            }
                            i+=2;
                        }
                    }
                    if(select2==2)
                    {
                        for(i=0;i<n*3;i++) {
                            b = random.nextInt(100);
                            op = random.nextInt(100);
                            a = arr[i];
                            c = arr[i+1];
                            d = arr[i+2];
                            char op1 = operator(b,select1);
                            char op2 = operator(op,select1);
                            System.out.println(""+a+op1+c+op2+d);
                            i+=2;
                        }
                    }
                }//不需要乘除法select1==2
            }//3个操作数
        }//范围内
        
    }//main()
    
}//class

 

脚本宝典总结

以上是脚本宝典为你收集整理的出四则运算题目全部内容,希望文章能够帮你解决出四则运算题目所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。