2024年1月31日发(作者:)
JAVA随机数之多种方法从给定范围内随机N个不重复数
在Java中生成随机数有多种方法,例如使用Math类的random(方法,使用Random类,以及使用ThreadLocalRandom类。下面将介绍不同方法从给定范围内随机生成N个不重复数的实现。
方法一:使用Math类的random(方法
Math类的random(方法返回一个浮点数,在范围[0.0, 1.0)之间。我们可以通过将其乘以范围的长度,并强制转换为整数来获得在给定范围内的随机整数。
```java
int min = 1; // 最小值
int max = 100; // 最大值
int N = 10; // 需要生成的随机数个数
Set
while(( < N)
int randomNum = min + (int)(( * (max - min));
(randomNum);
for (int num : set)
n(num);
```
方法二:使用Random类
Random类是Java提供的一个伪随机数生成器。我们可以使用nextInt(方法从给定范围内生成一个随机整数。
```java
int min = 1;
int max = 100;
int N = 10;
Random rand = new Random(;
Set
while(( < N)
int randomNum = t(max - min + 1) + min;
(randomNum);
for (int num : set)
n(num);
```
方法三:使用ThreadLocalRandom类
ThreadLocalRandom类是Java 7中引入的一个新类,它提供了线程本地的随机数生成器。通过使用nextInt(方法,我们可以从给定范围内生成一个随机整数。
```java
int min = 1;
int max = 100;
int N = 10;
Set
while(( < N)
int randomNum = t(.nextInt(min, max
+ 1);
(randomNum);
for (int num : set)
n(num);
```
方法四:使用Collections类的shuffle(方法
Collections类的shuffle(方法可以随机打乱一个列表。我们可以先创建一个包含给定范围内所有整数的列表,然后使用shuffle(方法打乱列表,并取前N个数。
```java
int min = 1;
int max = 100;
int N = 10;
List
for (int i = min; i <= max; i++)
(i);
e(list);
List
for (int num : randomNums)
n(num);
```
总结:在Java中生成随机数的方法有很多种,可以根据具体需求选择适合的方法。以上给出的四种方法都可以从给定范围内生成N个不重复的随机数。可以根据实际情况选择其中一种方法来使用。
本文发布于:2024-01-31 07:37:30,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170665785026746.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |