小学一二年级出题器(JAVA加减乘除)

public class AddSubMultiDivision {
    static int answerIndex = 0;
    public static void main(String[] args) {
        answerIndex = 0;

        StringBuffer stringBuffer = new StringBuffer();
        StringBuffer stringBuffer1 = new StringBuffer();


        stringBuffer.append("\r\n\n" + "Leve1" + "\r\n\n");
        stringBuffer1.append("\r\n\n" + "Leve1" + "\r\n\n");
        addAndSub(10, 20, stringBuffer, stringBuffer1);


        stringBuffer.append("\r\n\n" + "Leve2" + "\r\n\n");
        stringBuffer1.append("\r\n\n" + "Leve2" + "\r\n\n");
        addAndSub(20, 50, stringBuffer, stringBuffer1);


        stringBuffer.append("\r\n\n" + "Leve3" + "\r\n\n");
        stringBuffer1.append("\r\n\n" + "Leve3" + "\r\n\n");
        addAndSub(100, 50, stringBuffer, stringBuffer1);


        stringBuffer.append("\r\n\n" + "Leve4" + "\r\n\n");
        stringBuffer1.append("\r\n\n" + "Leve4" + "\r\n\n");
        addAndSub(1000, 50, stringBuffer, stringBuffer1);


        stringBuffer.append("\r\n\n" + "Leve5" + "\r\n\n");
        stringBuffer1.append("\r\n\n" + "Leve5" + "\r\n\n");
        multiAndDivision(50, 10, stringBuffer, stringBuffer1);

        System.out.println(stringBuffer.toString());
        System.out.println(stringBuffer1.toString());
    }

    /**
     * 加减法
     *
     * @param max
     * @param count
     * @param stringBuffer
     * @param stringBuffer1
     */
    private static void addAndSub(int max, int count, StringBuffer stringBuffer, StringBuffer stringBuffer1) {
        for (int i = 0; i < count; i++) {
            for (int j = 0; j < 4; j++) {
                if (j % 2 == 0) {
                    int number = (int) (Math.random() * max + 1);
                    int number1 = (int) (Math.random() * max + 1);
                    if (number > number1) {
                        String str = number + " -  " + number1 + " = ";
                        stringBuffer.append(str);
                        answerIndex++;
                        stringBuffer1.append(answerIndex + "、" + (number - number1));
                    } else {
                        String str = number1 + " -  " + number + " = ";
                        stringBuffer.append(str);
                        answerIndex++;
                        stringBuffer1.append(answerIndex + "、" + (number1 - number));
                    }
                    stringBuffer.append("             ");
                    stringBuffer1.append("    ");
                } else {
                    int number = (int) (Math.random() * max + 1);
                    int number1 = (int) (Math.random() * max + 1);
                    String str = number + " + " + number1 + " = ";
                    stringBuffer.append(str);
                    answerIndex++;
                    stringBuffer1.append(answerIndex + "、 " + (number1 + number));
                    stringBuffer.append("             ");
                    stringBuffer1.append("     ");
                }
            }
            stringBuffer.append("\r\n");
//            stringBuffer1.append("\r\n");
        }
        stringBuffer1.append("\r\n");
    }

    /**
     * 乘除法
     *
     * @param max
     * @param count
     * @param stringBuffer
     * @param stringBuffer1
     */
    private static void multiAndDivision(int max, int count, StringBuffer stringBuffer, StringBuffer stringBuffer1) {
        for (int i = 0; i < count; i++) {
            for (int j = 0; j < 4; j++) {
                int number = (int) (Math.random() * max + 1);
                int number1 = (int) (Math.random() * max + 1);
                if (j % 2 == 0) {
                    if (number > number1 && number % number1 == 0) {
                        String str = number + " / " + number1 + " =     ";
                        stringBuffer.append(str);
                        answerIndex++;
                        stringBuffer1.append(answerIndex + "、" + (number / number1));
                    } else {
                        boolean flage = false;
                        for (int k = 0; k < 50000; k++) {
                            number = (int) (Math.random() * max + 1);
                            number1 = (int) (Math.random() * max + 1);
                            if ((number > number1) && (number % number1 == 0)) {
                                flage = true;
                                break;
                            }
                        }
                        if (flage) {
                            String str = number + " / " + number1 + " =     ";
                            stringBuffer.append(str);
                            answerIndex++;
                            stringBuffer1.append(answerIndex + "、" + (number / number1));
                        }
                    }

                } else {
                    String str = number + " X " + number1 + " =     ";
                    stringBuffer.append(str);
                    answerIndex++;
                    stringBuffer1.append(answerIndex + "、" + (number * number1));
                }

                stringBuffer.append("             ");
                stringBuffer1.append("     ");
            }
            stringBuffer.append("\r\n");

        }
        stringBuffer1.append("\r\n");
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值