Java中Random类和Math.Random()用法

本文详细介绍了如何使用Java的Random类与Math.random()方法生成[0,100)、[a,b)及[a,b]区间内的整数。通过实例代码展示了两种方法的用法,同时指出了Math.random()在多线程环境下的安全性以及在无特殊需求时的便捷性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Random

import java.util.Random;

//随机生成[0, 100)中的一个整数,左闭右开区间
Random random = new Random(10);
int res = random.nextInt(100);

//随机生成[a, b)之间的一个整数
res = random.nextInt(b - a) + a;

//随机生成[a, b]之间的一个整数
res = random.nextInt(b - a + 1) + a;

Math.Random()

import java.lang.Math;

//随机生成[0, 100)中的一个整数,左闭右开区间
int res = (int)(Math.random() * 100);

//随机生成[a, b)之间的一个整数
res = (int)(Math.random() * (b - a)) + a;

//随机生成[a, b]之间的一个整数
res = (int)(Math.random() * (b - a)) + a;

总结

1、Math.random() 方法生成[0, 1)范围内的double类型随机数;Random类中的nextXxxx系列方法生成0-n的随机数,且可通过种子数限定结果是否可复现
2、Math.random() 线程安全,多线程环境能被调用
3、如无特殊需求,则使用(int)(Math.random()*n)的方式生成随机数即可

Java中,有两种不同的方式可以生成随机数:使用Mathrandom()方法使用java.util.Random。 1. Mathrandom()方法: MathJava内置的数学,其中有一个静态方法random(),用于生成一个0到1之间的随机浮点数。具体使用方法如下: ```java double randomNum = Math.random(); // 生成一个0到1之间的随机浮点数 ``` 这个方法会返回一个大于等于0且小于1的伪随机浮点数。如果你需要生成其他范围的随机数,可以使用乘法加法进行缩放偏移。例如,如果你想生成一个0到100之间的随机整数,可以使用以下代码: ```java int randomInt = (int) (Math.random() * 101); // 生成一个0到100之间的随机整数 ``` 注意:使用Mathrandom()方法生成的随机数是伪随机数,每次程序运行时都会生成相同的随机数序列。如果需要更高质量的随机数,可以考虑使用Random。 2. RandomRandomJava提供的随机数生成器,位于java.util包中。使用Random可以生成各种型的随机数,包括整数、浮点数、布尔值等。以下是一个使用Random生成随机整数的示例: ```java import java.util.Random; // 创建Random对象 Random random = new Random(); // 生成一个0到100之间的随机整数 int randomInt = random.nextInt(101); // 打印随机整数 System.out.println(randomInt); ``` Random的nextInt()方法用于生成一个指定范围内的随机整数。在上述示例中,nextInt(101)会生成一个0到100之间的随机整数。 总结:Mathrandom()方法适用于简单的随机数生成需求,而Random适用于更复杂的随机数生成需求,可以生成不同型的随机数,并且具有更好的随机性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值