Java生成指定范围内的一个随机整数2种方式
1、使用 Math.random()可以生成一个double类型的 [ 0.0,1.0)的随机数(实际上的取值是 【0.0,0.9999999】)
假设我们要生成一个【20,80】的随机数,20可以取到,80也可以取到。
生成【min,max】范围内的随机整数
公式:
(int)( min + Math.random() * ( max - min + 1))
测试案例:生成一个【20,80】的随机整数
public static void main(String[] args) { for (int i = 1; i <= 80; i++) { int number = (int) (20 + Math.random() * (80 - 20 + 1)); System.out.println(number); } }
可以多打印几次测试结果。
2、创建Random类对象,调用nextInt()方法生成随机数
需求:生成 0-10的随机数,包含0和10
Random random = new Random(); int num = random.nextInt(10); //这样写的话,生成[ 0,9]的随机整数数。
如果我们要包含0和10,应该这样写
int num = random.nextInt(10+1);
即是说括号里面的那个最大范围数实际上是取不到的,所以我们要在括号里面+1。
nextInt()生成随机整数规律公式:
需求:生成【min,max】范围内的随机整数,包含min和max
Random random = new Random(); int num = min + random.nextInt( max - min + 1);
参照需求生成【0,10】的随机整数套用公式:
//生成【0,10】的随机整数 Random random = new Random(); int num = 0 + random.nextInt( 10 - 0 + 1); // int num = random.nextInt(11);
测试案例代码:
public static void main(String[] args){ System.out.println("==========Random对象调用方法产生随机数==========="); int[] arr2 = new int[5]; Random random = new Random(); //产生【1-10】的随机数 for (int i = 0; i < arr2.length; i++) { arr2[i] = random.nextInt(10 + 1); System.out.print(arr2[i] + " "); } }
随机打印测试的数据(结果有随机性,可以多运行几次观察结果)
猜数字大小的游戏
系统随机生成【1,100】一个随机数,用户从控制台输入一个数,两者比较大小,若不相等,就提示用户,他输入的数字比系统生成的随机数大还是小。
import java.util.Scanner; public class Demo18 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int randomNumber = (int) (1 + Math.random() * (100 - 1 + 1)); int userNumber; while (true) { System.out.println("请输入您猜测的数字[1,100]:"); userNumber = sc.nextInt(); if (userNumber == randomNumber) { System.out.println("恭喜您猜对了"); System.out.println("系统生成的随机数:" + randomNumber); break; } else if (userNumber > randomNumber) { System.out.println("您猜的数字偏大"); } else { System.out.println("您猜的数字偏小"); } } System.out.println("游戏结束!"); } }
到此这篇关于Java生成指定范围内的一个随机整数2种方式的文章就介绍到这了,更多相关Java生成指定随机整数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
springboot+thymeleaf找不到视图的解决方案
这篇文章主要介绍了springboot+thymeleaf找不到视图的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-06-06Java处理InterruptedException异常的理论与实践
在使用Java的过程中,有个情景或许很多人见过,您在编写一个测试程序,程序需要暂停一段时间,于是调用 Thread.sleep()。但是编译器或 IDE 报错说没有处理检查到的 InterruptedException。InterruptedException 是什么呢,为什么必须处理它?下面跟着小编一起来看看。2016-08-08Java线程操作的常见方法【线程名称获取、设置、线程启动判断等】
这篇文章主要介绍了Java线程操作的常见方法,结合实例形式总结分析了java线程的创建、线程名称的获取、设置以及线程启动的判断等相关操作实现技巧,需要的朋友可以参考下2019-10-10Springboot使用Security实现OAuth2授权验证完整过程
安全管理是软件系统必不可少的的功能。根据经典的“墨菲定律”——凡是可能,总会发生。如果系统存在安全隐患,最终必然会出现问题,这篇文章主要介绍了SpringBoot使用Security实现OAuth2授权验证完整过程2022-12-12
最新评论