四则运算的改进

其实就是把功能用类封装起来。

写一个函数实现取随机数:

    public static int suijishu() {
        int suijishu;
        suijishu=(int)(Math.random()*100+1);
        return suijishu;
    }//输出大于等于1小于等于100的随机整数。

用函数调用上面的函数做四则运算,结果用string类型输出:

    public static String yunsuan1() {
        String cc;
        int aa=suijishu();
        int bb=suijishu();
        int k=suijishu();
        switch(k%2) {
        case 0 :cc="("+aa+" + "+bb+")";break;
        default:cc="("+aa+" - "+bb+")";break;
        }
        return cc;
    }//输出一个只有加减没有乘除的表达式
    
    public static String yunsuan2() {
        String cc;
        int aa=suijishu();
        int bb=suijishu();
        int k=suijishu();
        switch(k%4) {
        case 0 :cc="("+aa+" * "+bb+")";break;
        case 1 :cc="("+aa+" + "+bb+")";break;
        case 2 :cc="("+aa+" - "+bb+")";break;
        default:cc="("+aa+" / "+bb+")";break;
        }
        return cc;
    }//输出一个有加减乘除的表达式
    
    public static String yunsuan3() {
        String ee;
        String cc=yunsuan1();String dd=yunsuan1();int k=suijishu();
        switch(k%2) {
        case 0 :ee=cc+" + "+dd;break;
        default:ee=cc+" - "+dd;break;
        }
        return ee;
    }////输出一个有加减的表达式
    
    public static String yunsuan4() {
        String ee;
        String cc=yunsuan1();String dd=yunsuan1();int k=suijishu();
        switch(k%4) {
        case 0 :ee=cc+" + "+dd;break;
        case 1 :ee=cc+" - "+dd;break;
        case 2 :ee=cc+" * "+dd;break;
        default:ee=cc+" / "+dd;break;
        }
        return ee;
    }////输出一个有(可能)加减乘除的表达式

主函数调用上面4个函数实现一些其他的功能:

    public static void main(String[] args) {
        Scanner in = new Scanner( System.in );
        //是否需要乘除运算,需要调用一个函数,不需要调用一个函数。
        System.out.println("范围:1-100,是否有乘除法?1:有,2:没有。");
        int c = in.nextInt();//try catch finally
        for(int i=0;i<10;i++) {
            if(c==2)
                System.out.println(yunsuan3());
            if(c==1)
                System.out.println(yunsuan4());
        }
        
    }

额,实现不是很完全。

结果大概是这样:

范围:1-100,是否有乘除法?1:有,2:没有。
1
(82 - 55) / (2 - 18)
(3 - 77) - (80 - 23)
(89 + 49) - (54 - 43)
(68 + 1) * (47 - 32)
(97 + 28) * (84 - 98)
(58 - 19) * (17 - 3)
(12 + 86) / (21 - 33)
(69 + 57) + (51 - 57)
(48 - 5) + (2 - 86)
(56 - 71) * (76 - 33)

或者这样:

范围:1-100,是否有乘除法?1:有,2:没有。
2
(97 + 51) + (90 + 54)
(50 - 22) + (71 - 75)
(81 + 100) - (73 - 56)
(80 - 41) - (97 + 20)
(67 + 32) - (92 + 86)
(95 - 13) - (44 - 53)
(72 - 11) - (87 - 65)
(18 + 1) - (44 + 50)
(96 + 62) - (99 + 2)
(30 - 97) + (77 - 50)

原文地址:https://www.cnblogs.com/Zf451452043/p/6544298.html