Java自动生成5道100以内的加减法口算题
题目:编写一个程序,要求自动生成5道100以内的加减法口算题
首先在java中随机生成一个范围内的随机数有两种方法:一种是调用 Math 类的 random() 方法,一种是使用 Random 类。
可以使用Math类调用static方法random()放回一个0~1之间的随机数(包括0.0但不包括1.0),即随机数取值范围是[0.0,1.0)的左闭右开区间,例如,下列代码得到1~100之间的一个随机整数(包括1和100)
(int) (Math.random() * 100) + 1;
但是,Java提供了更为灵活的用于获得随机数的Random类(该类在java.util包中)。
使用Random类的如下构造方法
public Random();
public Random(long seed);
创建Random对象,其中第一个构造方法使用当前机器时间作为种子创建一个Random对象,第二个构造方法使用参数seed指定的种子创建一个Random对象。我们习惯的将Random对象成为随机数生成器。例如下列随机数生成器random调用不带参数的nextInt()方法返回一个随机整数:
Random random = new Random();
random.nextInt();
如果想让随机数生成器random返回一个0~n之间(包括0但不包括n)的随机数,可以让random调用带参数的nextInt(int m)方法(参数m必须取正整数),例如:
random.nextInt(100);
返回0~99之间的某个整数,即返回的整数在[0,99]区间内。
random调用public double nextDouble()返回一个0.0~1.0之间的随机数,包括0.0,但不包括1.0。
如果程序需要随机得到true和false两个表示真和假的boolean值,可以让random调用nextBoolean()方法,例如:
random.nextBoolean();
返回一个随机boolean值
注意:对于具有相同种子的两个Random对象,二者依次调用nextInt()方法获取的随机数序列是相同的。
具体代码如下:
import java.util.Random;public class Main {public static void main(String[] args) {Random r = new Random();//定义操作数a,b;结果cint a,b,c;//题目的数量int temp = 0;for(int i = 0 ;i<1000000;i++) {a = r.nextInt(101);b = r.nextInt(101);c = r.nextInt(2);//去除结果大于100或小于0的表达式if(calculate(a, b, c) > 100 || calculate(a, b, c) < 0)continue;System.out.println(a+getOp(c)+b+"="+calculate(a, b, c));temp++;if(temp == 5)break;}}//获取操作运算符public static String getOp(int index) {String string = "";switch(index) {case 0:string = "+";break;case 1:string = "-";break;}return string;}//计算表达式public static int calculate(int a,int b,int index) {int sum = 0;switch(index) {case 0:sum = a + b;break;case 1:sum = a - b;break;}return sum;}}
文章对你有所帮助的话,欢迎给个赞或者 star,你的支持是对作者最大的鼓励,不足之处可以在评论区多多指正,交流学习!
Java自动生成5道100以内的加减法口算题相关推荐
- 50道100以内的加减法口算习题及它的模块化改造
50道100以内的加减法口算习题及它的模块化改造 目录 50道100以内的加减法口算习题及它的模块化改造 前言 一.未经过模块化设计的基础代码 1.代码示例 2.存在的问题 二.分解与模块化 1.分解 ...
- 面向对象改造——50道100以内的加减法口算习题
面向对象改造--50道100以内的加减法口算习题 接上篇文章,50道100以内的加减法口算习题的模块化改造基础上,对其进行面向对象的进一步改造 上文链接: link. 文章目录 面向对象改造--50道 ...
- 软件构造(Java)——50道100以内的加减法口算习题(升级版)
题目: 用Java程序生成50道100以内加法/减法算式的习题,并输出. (1)每个算式还需要答案: (2)加法算式的和不能超过100: (3)减法算式的差不能小于0: (4)把算式输出到文本文件中: ...
- Python实现100以内的加减法口算练习题
小朋友口算练习题,100以内的加减法运算: 程式要求如下 1,100道100以内的加减法计算题 2,两数相加,和小于等于100 3,被减数必须大于减数 4,前面80道计算题的格式为A+B= 或者C-D ...
- Java口算练习软件(随机生成10道100以内的数学练习题)
Java口算练习软件 使用Java编写口算练习软件 实现以下功能点: 1.随机生成10道100以内的加减法练习题 2.设计GUI界面(包含"生成题目"."上一题" ...
- java编写随机程序,随机生成10道一百以内的加减法
Java随机生成10道一百以内的加减法 利用Java随机编程输出10道一百以内的加减法 在这里插入代码片 public static void main(String[] args){Scanner ...
- 【软件构造-java编写】生成50道100以内加法/减法算式的习题,并输出。(和不能超过100,差不能小于0)
原题 (论述题) 生成50道100以内加法/减法算式的习题,并输出. (1)每个算式还需要答案: (2)加法算式的和不能超过100: (3)减法算式的差不能小于0: (4)每行整齐地多显示几个算式,不 ...
- java实现随机出题之随机产生50道100以内的加减法题目;
package test; import java.util.Random;public class Test {public static void main(String[] args) {//调 ...
- c语言加法只能计算10以内的,一年级数学10以内加减法口算题(1000道).doc
一年级10以内加减法口算题 班级: 姓名 10-6= 3+4= 9-6= 9-3= 5-1= 4+2= 10-5= 6+2= 8-5= 2+2= 4+1= 5-2= 4-2= 6-5= 3-1= 2- ...
- 随机生成50道100以内的加减题(在线答题)
一.代码部分: import random def fun(i): score = 0 list = [] tup = () for i in range(i,51): num1 = ...
最新文章
- 如何使用 Java8 实现观察者模式?(下)
- Leetcode题库 798.得分最高的最小轮调(差分数组 C实现)
- 远程桌面退出全屏/不能全屏/全屏切换的技巧
- Service Mesh 高可用在企业级生产中的实践
- OData V4 系列 查询操作
- [css] 不使用border画出1px高的线,在不同浏览器的标准和怪异模式下都能保持效果一样
- pythonunicode和str_python2 中 unicode 和 str 之间的转换及与python3 str 的区别
- 编程之美读书笔记1.2——中国象棋将帅问题
- MyBatis之ResultMap简介,关联对象…
- epoll和libevent
- java读取摄像头视屏流,Java 摄像头视频获取
- 怎样在LaTeX中方便输入带圆圈的数字
- python中文转化gb2321_使用Python进行中文繁简转换的实现代码
- JeecgBoot集成DataV组件库
- 开源工作流引擎 Workflow Core 的研究和使用教程
- 分析称诺基亚仅押宝WP成自救牵绊
- /etc/security/limits.conf 控制文件描述符,进程数,栈大小等
- typescript常用的一些内置类型
- APP移动应用测试策略与工具思维导图
- 快牛策略——嵌入式计算机