首先创建一个新的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;
}
}
 

下面附上运行结果:

         

       

         

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

Android:随机生成算数四则运算简单demo(随机生成2~4组数字,进行加减乘除运算)的更多相关文章

  1. Python 常用模块系列学习(1)--random模块常用function总结--简单应用--验证码生成

    random模块--random是一个生成器 首先: import random    #导入模块 print (help(random))    #打印random模块帮助信息 常用function ...

  2. .Net Excel 导出图表Demo(柱状图,多标签页) .net工具类 分享一个简单的随机分红包的实现方式

    .Net Excel 导出图表Demo(柱状图,多标签页) 1 使用插件名称Epplus,多个Sheet页数据应用,Demo为柱状图(Epplus支持多种图表) 2 Epplus 的安装和引用 新建一 ...

  3. Java编写一个随机产生小学生四则运算题30道

    //注:这个程序还没有实现的地方为分数的计算方法未能实现,只是简单的两个数运算,没有实现多个数,四则运算中的数没有涉及0. package 课堂测试1; import java.io.File; im ...

  4. random and password 在Linux下生成crypt加密密码的方法,shell 生成指定范围随机数与随机字符串

    openssl rand -hex n (n is number of characters) LANG=c < /dev/urandom tr -dc _A-Z-a-z-0-9 | head ...

  5. android JNI 简单demo(2)它JNI demo 写

    android JNI 简单demo(2)它JNI demo 写 一.搭建Cygwin 环境:http://blog.csdn.net/androidolblog/article/details/25 ...

  6. C#中生成的随机数为什么不随机?

    from:https://www.xcode.me/more/net-csharp-generate-random 随机数生成方法可以说是任何编程语言必备的功能,它的重要性不言而言,在C#中我们通常使 ...

  7. 使用MFC做一个简单的‘能自动生成小学生四则运算的软件’

    这是软件工程的第一次作业!但由于我们python还没入门,所以这次的要求是‘语言不限’. 小学期做过一个关于MFC的‘资金管理系统’,也正好可以有界面,所以就选择了自己很熟悉的MFC来做这个作业! 1 ...

  8. SAS文档:简单的随机点名器

    本次实验,我们设计了一个简单的随机点名系统,下面我来介绍一下它的SRS文档. 1.功能需求: 1.1 模块1 在此模块中,我们设置了RandomName类,创建一个随机点名器,里面加入了所在课程的名单 ...

  9. shell 生成指定范围随机数与随机字符串 .

    shell 生成指定范围随机数与随机字符串         分类:             shell              2014-04-22 22:17     20902人阅读     评 ...

随机推荐

  1. Python爬虫入门教程 38-100 教育部高校名单数据爬虫 scrapy

    爬前叨叨 今天要爬取一下正规大学名单,这些名单是教育部公布具有招生资格的高校名单,除了这些学校以外,其他招生的单位,其所招学生的学籍.发放的毕业证书国家均不予承认,也就是俗称的野鸡大学! 网址是 ht ...

  2. 递归一个List<T>,可自己根据需要改造为通用型。

    /// <summary> /// 递归一个List<ProvinceOrg> /// </summary> /// <returns></ret ...

  3. 模块使用:time、datetime、calendar、sys、os、os.path、normcase和normapath、random、json、pickle

    ## time:时间 时间戳(timestamp):time.time() 延迟线程的运行:time.sleep(secs) (指定时间戳下的)当前时区时间:time.localtime([secs] ...

  4. 简述Java变量和强制转换类型

    简述Java变量和强制转换类型 java变量 1. java变量 变量:顾名思义,就是在java执行程序过程中可以发生改变的量,就好比方程式中的未知数X一样. 变量的内存分配过程 int a ; // ...

  5. 万马齐喑究可哀-中文编程的又一波"讨论"

    刚申诉了自动折叠, 还是把回答转帖一下: 吴烜:假设中国人最先开发电脑和设计程序语言,那么各种程序语言会使用汉字吗? 这种有明显倾向性的问题怎么还有市场呢...不管谁先开发的电脑(就不论算盘之类是不是 ...

  6. PostgreSQL 10.7 linux 主从配置

    PostgreSQL 10.7 主从安装 硬件环境 云服务商:华为云 Linux: CentOS7.1 工具:Xshell Xftp IP:114.115.251.168 Port: 5432 543 ...

  7. 20180726 - Windows 10 Pro 下远程桌面连接提示“出现身份验证错误”

    问题:Windows 10 Pro 下远程桌面连接提示“出现身份验证错误” [Window Title]远程桌面连接 [Content]出现身份验证错误.要求的函数不受支持 远程计算机: 192.16 ...

  8. Linux:Day20(下) http基础

    Web Service Port number: 0-1023:众所周知,永久的分配给固定的应用使用,22/tcp(ssh),80/tcp(http),443/tcp(https) 1024-4195 ...

  9. python word转pdf

    原理 使用python win32 库 调用word底层vba,将word转成pdf 安装pywin32 pip install pywin32 python代码 from win32com.clie ...

  10. Luogu P5284 [十二省联考2019]字符串问题

    好难写的字符串+数据结构问题,写+调了一下午的说 首先理解题意后我们对问题进行转化,对于每个字符串我们用一个点来代表它们,其中\(A\)类串的点权为它们的长度,\(B\)类串的权值为\(0\) 这样我 ...