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

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)的方式生成随机数即可

  • 4
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java,有两种不同的方式可以生成随机数:使用Math类的random()方法和使用java.util.Random类。 1. Math类的random()方法: Math类是Java内置的数学类,其有一个静态方法random(),用于生成一个0到1之间的随机浮点数。具体使用方法如下: ```java double randomNum = Math.random(); // 生成一个0到1之间的随机浮点数 ``` 这个方法会返回一个大于等于0且小于1的伪随机浮点数。如果你需要生成其他范围的随机数,可以使用乘法和加法进行缩放和偏移。例如,如果你想生成一个0到100之间的随机整数,可以使用以下代码: ```java int randomInt = (int) (Math.random() * 101); // 生成一个0到100之间的随机整数 ``` 注意:使用Math类的random()方法生成的随机数是伪随机数,每次程序运行时都会生成相同的随机数序列。如果需要更高质量的随机数,可以考虑使用Random类。 2. Random类: Random类是Java提供的随机数生成器类,位于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之间的随机整数。 总结:Math类的random()方法适用于简单的随机数生成需求,而Random类适用于更复杂的随机数生成需求,可以生成不同类型的随机数,并且具有更好的随机性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值