四则运算 -java

package com.homework01;

import java.util.Random;

public class test02 {
    public static void main(String[] args) {
        // 随机产生用于计算的3个数,n1,n2,n3
        Random n1 = new Random();
        Random n2 = new Random();
        Random n3 = new Random();
        // 随机产生2个符号 0为“+”,1为“-”,2为“*”,3为“/”
        Random fuHao1 = new Random();
        Random fuHao2 = new Random();

        String[] strings = {"+", "-", "*", "/"};
        for (int i = 0; i < 100; i++) {
            int number1 = n1.nextInt(100);
            int number2 = n2.nextInt(100);
            int number3 = n3.nextInt(100);

            int number4 = fuHao1.nextInt(4);
            int number6 = fuHao2.nextInt(4);
            /*result1是运算的中间结果,result是最终结果
            * 判断2个运算符是否为乘除,以判断运算顺序
            * **/
            if ((number6!=2 && number6!=3)||(number4==2||number4==3)) {
                try {
                    int result1 = function(number1, number2, number4);
                    int result = function(result1, number3, number6);
                    String shuChu = number1 + strings[number4] + number2 + strings[number6] + number3 + "=" + result  ;
                    System.out.println(shuChu);
                }
                catch (Exception e){
                    e.printStackTrace();
                }

            }
            else if((number4!=2||number4!=3)&&(number6==2 ||number6==3)){
            try {
                int result1 = function(number2, number3, number6);
                int result = function(result1, number1, number4);
                String shuChu = number1 + strings[number4] + number2 + strings[number6] + number3 + "=" + result  ;
                System.out.println(shuChu);
            }
            catch (Exception e){
                e.printStackTrace();
            }

            }



        }

    }

    /**
     *
     * @param number1 运算的第一个数值
     * @param number2 第二个数值
     * @param fuHao  判定为什么符号
     * @return  返回计算的结果
     * @throws Exception 除法里0不能为分母
     */
    public static int function(int number1,int number2,int fuHao)throws Exception{

        if (fuHao==0)
            return sum(number1,number2);
        if (fuHao==1)
            return sub(number1,number2);
        if (fuHao==2)
            return mul(number1,number2);
        else
            return div(number1,number2);
    }

//加减乘除
    public static int sum(int n1,int n2){
        return n1+n2;
    }
    public static int sub(int n1,int n2){
        return n1-n2;
    }
    public static int mul(int n1,int n2){
        return n1*n2;
    }
    public static int div(int n1,int n2)throws Exception{
        return n1/n2;
    }
}

运算结果:

posted @ 2020-10-11 22:17  杨浩824  阅读(121)  评论(0)    收藏  举报