首先创建一个新的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. 【转】视频H5 video最佳实践

    原文地址:https://github.com/gnipbao/iblog/issues/11 随着 4G 的普遍以及 WiFi 的广泛使用,手机上的网速已经足够稳定和高速,以视频为主的 HTML5 ...

  2. 深度召回模型在QQ看点推荐中的应用实践

    本文由云+社区发表 作者:腾讯技术工程 导语:最近几年来,深度学习在推荐系统领域中取得了不少成果,相比传统的推荐方法,深度学习有着自己独到的优势.我们团队在QQ看点的图文推荐中也尝试了一些深度学习方法 ...

  3. Elasticsearch最佳实践之分片使用优化

    本文由云+社区发表 作者:老生姜 一.遇到的问题 与大多数分布式系统一样,Elasticsearch按照一定的Hash规则把用户数据切分成多个分片,然后打散到不同机器进行存储,从而实现大规模数据的分布 ...

  4. 01 Java jdk环境配置

    1.1 书籍(B) [1] java核心技术 [2] 实战java 1.2 网址(B) oracle.com http://www.ibm.com/developerWorks/cn/ https:/ ...

  5. MySQL 四种隔离级别

    什么是事务 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消.也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做. 事务的结束有 ...

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

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

  7. ArcGIS API For Javascript_4.8-渲染器SimpleRenderer

    SimpleRenderer require(["esri/renderers/SimpleRenderer"], function(SimpleRenderer) { /* co ...

  8. Retrofit的初次使用

    rxretrofitlibrary是一个已经写好的网络框架库,先以本地Module导入到自己的项目中. 1.它的初始化操作大多在自定义的application中完成,如: public class A ...

  9. Liunx小白须知

    最近在学习Liunx,从装虚拟机到敲命令出了一些问题,95%的问题从搜索引擎都可以找到.本来想写个虚拟机安装步骤结果忘记截图了,不过没事,网上一大把.写写博文勒就是记录下自己的成长,虽然现在还是个小白 ...

  10. 细说 JavaScript 七种数据类型

    在 JavaScript 规范中,共定义了七种数据类型,分为 “基本类型” 和 “引用类型” 两大类,如下所示: 基本类型:String.Number.Boolean.Symbol.Undefined ...