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;
}
}
下面附上运行结果:



由于知识浅薄,所写代码还显冗杂。由于最后返回的结果是整型,遇到没有整除的时候不会有小数,返回的是整型,还未修改。如有错误还望谅解!
Android:随机生成算数四则运算简单demo(随机生成2~4组数字,进行加减乘除运算)的更多相关文章
- Python 常用模块系列学习(1)--random模块常用function总结--简单应用--验证码生成
random模块--random是一个生成器 首先: import random #导入模块 print (help(random)) #打印random模块帮助信息 常用function ...
- .Net Excel 导出图表Demo(柱状图,多标签页) .net工具类 分享一个简单的随机分红包的实现方式
.Net Excel 导出图表Demo(柱状图,多标签页) 1 使用插件名称Epplus,多个Sheet页数据应用,Demo为柱状图(Epplus支持多种图表) 2 Epplus 的安装和引用 新建一 ...
- Java编写一个随机产生小学生四则运算题30道
//注:这个程序还没有实现的地方为分数的计算方法未能实现,只是简单的两个数运算,没有实现多个数,四则运算中的数没有涉及0. package 课堂测试1; import java.io.File; im ...
- 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 ...
- android JNI 简单demo(2)它JNI demo 写
android JNI 简单demo(2)它JNI demo 写 一.搭建Cygwin 环境:http://blog.csdn.net/androidolblog/article/details/25 ...
- C#中生成的随机数为什么不随机?
from:https://www.xcode.me/more/net-csharp-generate-random 随机数生成方法可以说是任何编程语言必备的功能,它的重要性不言而言,在C#中我们通常使 ...
- 使用MFC做一个简单的‘能自动生成小学生四则运算的软件’
这是软件工程的第一次作业!但由于我们python还没入门,所以这次的要求是‘语言不限’. 小学期做过一个关于MFC的‘资金管理系统’,也正好可以有界面,所以就选择了自己很熟悉的MFC来做这个作业! 1 ...
- SAS文档:简单的随机点名器
本次实验,我们设计了一个简单的随机点名系统,下面我来介绍一下它的SRS文档. 1.功能需求: 1.1 模块1 在此模块中,我们设置了RandomName类,创建一个随机点名器,里面加入了所在课程的名单 ...
- shell 生成指定范围随机数与随机字符串 .
shell 生成指定范围随机数与随机字符串 分类: shell 2014-04-22 22:17 20902人阅读 评 ...
随机推荐
- C# .NET Web API 如何自訂 ModelBinder
各位好!這次要來替大家介紹的是如何在 .NET Web API 中自訂一個 ModelBinder 透過自定義的 ModelBinder 我們可以很簡單的將 QueryString 傳過來的參數綁定 ...
- Linux iptables 配置规则
Linux iptables 防火墙配置规则 前言:把网上我感觉不错iptables的访问规则都统一在这里,以后做参考. modprobe ipt_MASQUERADE modprobe ip_con ...
- C++结构体与排列三平台出售
结构将不同的数据类型整合在一起构成一个新的类型,排列三平台出售(企 娥:217 1793 408)相当于数据中一条记录,比如学生结构体,整合了学好,姓名等信息.结构体的好处就是可以对这些信息进行整体管 ...
- 由浅入深讲解责任链模式,理解Tomcat的Filter过滤器
本文将从简单的场景引入, 逐步优化, 最后给出具体的责任链设计模式实现. 场景引入 首先我们考虑这样一个场景: 论坛上用户要发帖子, 但是用户的想法是丰富多变的, 他们可能正常地发帖, 可能会在网页中 ...
- 如何通过免费开源ERP Odoo建立你的团队, 销售过程和目标
这种快速的一步一步的指南将引导您完成Odoo CRM, 帮助您轻松处理您的销售渠道, 时刻从线索到客户管理您的销售渠道. 配置 从 Odoo初始化后,生成你的数据库, 选择CRM 作为第一个app安装 ...
- JVM之GC算法、垃圾收集算法——标记-清除算法、复制算法、标记-整理算法、分代收集算法
标记-清除算法 此垃圾收集算法分为“标记”和“清除”两个阶段: 首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记对象,它的标记过程前面已经说过——如何判断对象是否存活/死去 死去的对象就会 ...
- ubuntu修改键盘映射
code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol ...
- #Java学习之路——基础阶段二(第八篇)
我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...
- Oracle和Mysql获取uuid的方法对比
场景:orm框架用mybatis,需要往数据库新增一条数据,用Oracle和mysql数据库分别需要怎么实现? mysql方法,用mysql提供的uuid函数 <insert id=" ...
- request.getContextPath()
今天终于明白了jsp中的request.getContextPath()是怎么回事了. request.getContextPath() 返回站点的根目录 request.getRealpath(& ...