JAVA随机数之多种方法从给定范围内随机N个不重复数

阅读: 评论:0

2024年1月31日发(作者:)

JAVA随机数之多种方法从给定范围内随机N个不重复数

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 set = new HashSet<>(;

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 set = new HashSet<>(;

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 set = new HashSet<>(;

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 list = new ArrayList<>(;

for (int i = min; i <= max; i++)

(i);

e(list);

List randomNums = t(0, N);

for (int num : randomNums)

n(num);

```

总结:在Java中生成随机数的方法有很多种,可以根据具体需求选择适合的方法。以上给出的四种方法都可以从给定范围内生成N个不重复的随机数。可以根据实际情况选择其中一种方法来使用。

JAVA随机数之多种方法从给定范围内随机N个不重复数

本文发布于:2024-01-31 07:37:30,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170665785026746.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:方法   范围   给定   生成   使用   整数   新类   提供
留言与评论(共有 0 条评论)
   
验证码:
排行榜

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23