• Android:随机生成算数四则运算简单demo(随机生成2~4组数字,进行加减乘除运算)


    首先创建一个新的Android工程,下面是页面布局:

    Java代码:

    我们先来分析一下如何完成的步骤:

    1.首先,先完成生成随机数。(包括随机生成几组数字,范围为多少的数字,四则运算符号等);

    2.要完成具体逻辑,先指定随机生成几组数字,然后再排列数字和四则运算符号

    下面代码随机生成数字的每种情况只写了一种:

    
    
    private void question() {
    java.util.Random random=new java.util.Random();
    //先指定随机生成几组数字(2~4);
    int temp= random.nextInt(3)+2;

    //随机生成(0~3)四个数字分别对应:+,-,×,÷
    //如果随机到四组数字,则会有三个运算符
    int signal=random.nextInt(4);//第一个运算符
    int signal1=random.nextInt(4);//第二个运算符
    int signal2=random.nextInt(4);//第三个运算符

    //指随机生成的每组数字的数值(1~11)
    final int num1=random.nextInt(11)+1;
    final int num2=random.nextInt(11)+1;
    final int num3=random.nextInt(11)+1;
    final int num4=random.nextInt(11)+1;

    switch (temp){
    case 2://2组数字
    switch (signal){
    case 0:// +
    tv_math.setText(num1+"+"+num2+"=?");
    btn_answers.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    tv_math.setText(num1+"+"+num2+"="+(num1+num2));
    }
    });
    break;
    case 1:// -
    //......
    break;
    case 2:// ×
    //......
    break;
    case 3:// ÷
    //......
    break;

    }
    break;
    case 3://3组数字
    switch (signal){//第一个运算符
    case 0:// +
    switch (signal1){//第二个运算符
    case 0:// +
    tv_math.setText(num1+"+"+num2+"+"+num3+"=?");
    btn_answers.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    tv_math.setText(num1+"+"+num2+"+"+num3+"="+(num1+num2+num3));
    }
    });
    break;
    //......
    }
    break;
    //......
    }
    break;
    case 4://4组数字
    switch (signal){//第一个运算符
    case 0:// +
    switch (signal1){//第二个运算符
    case 0:// +
    switch (signal2){//第三个运算符
    case 0:// +
    tv_math.setText(num1+"+"+num2+"+"+num3+"+"+num4+"=?");
    btn_answers.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    tv_math.setText(num1+"+"+num2+"+"+num3+"+"+num4+"="+(num1+num2+num3+num4));
    }
    });
    break;
    //......
    }
    //......
    }
    break;
    //......
    }
    break;
    }
    }
     

     下面附上运行结果:

             

           

             

    由于知识浅薄,所写代码还显冗杂。由于最后返回的结果是整型,遇到没有整除的时候不会有小数,返回的是整型,还未修改。如有错误还望谅解!

  • 相关阅读:
    异步fifo设计(2)
    异步fifo设计(1)
    systemverilog学习(9)assertion
    cordic算法
    Booth除法器设计
    systemverilog学习(8)randomization随机化
    systemverilog学习(7)OOP
    折线法——卡特兰数证明
    【BZOJ 4004】 装备购买(高斯消元+贪心)
    POJ 3322 Bloxorz
  • 原文地址:https://www.cnblogs.com/qq714081644/p/6518998.html
Copyright © 2020-2023  润新知