Java 随机数

本文介绍了如何在Java中生成随机数。通过Math.random()方法可以得到[0.0,1.0)之间的double类型随机数。若要获取[0-10)的整数,只需将结果转换为int。进一步,可以通过乘以范围长度并加上最小值来获取[num1, num2)之间的随机整数。示例代码展示了如何生成[29,51)和[38,85)之间的随机整数。

Java 随机数

一、获取随机数

Math.random()随机返回一个[0.0,1.0)之间的double类型的数据。

public static void main(String[] args) {
    double num =Math.random();
    System.out.println(num);
}

二、获取[0-10)之间的随机整数

public static void main(String[] args) {
    int random = (int)(Math.random()*10);
    System.out.println("随机数:"+random);

}

三、获取[num1,num2)之间的随机整数

int num = (int)(Math.random()*(num2-num1)+num1);

public static void main(String[] args) {
    int num1 = (int)(Math.random()*10);		
    // 随机获取[29,51)之间的随机整数
    int num2 = (int)(Math.random()*22+29);
    System.out.println(num2);

    // 随机获取[38,85)之间的整数
    int num3 = (int)(Math.random()*(85-38)+38);
    System.out.println(num3);
}
Java中生成随机数有多种方法,以下是详细介绍: ### 使用`java.util.Random`类 这是最常用的一种生成随机数的方式,需要借助`java.util.Random`类来产生一个随机数发生器。其构造函数有两个:`Random()`和`Random(long seed)`。`Random()`是以当前时间为默认种子,`Random(long seed)`是以指定的种子值进行。种子是产生随机数的第一次使用值,机制是通过一个函数,将这个种子的值转化为随机数空间中的某一个点上,并且产生的随机数均匀的散布在空间中,以后产生的随机数都与前一个随机数有关。产生随机数发生器之后,借助不同的语句产生不同类型的数。 #### 生成0到99之间的随机整数示例代码 ```java import java.util.Random; public class RandomIntegerExample { public static void main(String[] args) { Random random = new Random(); int n = random.nextInt(100); // 生成0到99之间的随机整数 System.out.println("随机整数: " + n); } } ``` #### 获取指定范围(如5 - 10之间)的随机数示例代码 ```java import java.util.Random; public class random { public static void main(String[] args) { Random rand = new Random(); System.out.println(rand.nextInt(6) + 5); } } ``` ### 使用`Math.random()`方法 `Math.random()`方法返回的数值是`[0.0, 1.0)`的`double`型数值,由于`double`类数的精度很高,可以在一定程度下看做随机数,借助`(int)`来进行类型转换就可以得到整数随机数。示例代码如下: ```java int r = (int) (Math.random() * 100); // 生成0到99之间的随机整数 System.out.println(r); ``` ### 使用`System.currentTimeMillis()` `System.currentTimeMillis()`返回当前时间的毫秒数,可利用它来生成随机数。示例代码如下: ```java long randomNum = System.currentTimeMillis(); int k = (int) (randomNum % 100); System.out.println(k); ``` ### 关于继承`java.util.Random`类的生成器 有一种生成器继承了`java.util.Random`类,但只有一种调用方法——通过`nextInt`生成随机数,且该方法只提供无参和单个参数两种版本,其他任何调用都将直接调用`java.util.Random`方法 [^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Glensea

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值