admin 管理员组文章数量: 887021
2023年12月21日发(作者:手机查看php文件的软件)
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个不重复的随机数。可以根据实际情况选择其中一种方法来使用。
版权声明:本文标题:JAVA随机数之多种方法从给定范围内随机N个不重复数 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1703155466h440237.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论