java产生n个不同随机数,java生成任意随机数(任意指定范围)
实现方法:
首先,定义一个长度为n的数组,然后使用while循环生成随机数来给数组赋值。在赋值之前,需要遍历数组中的现有值。如果值相等,您将重新生成随机数而不分配它们,并循环直到所有定义的数组都被分配。
例子如下:
/**
*函数:在min-max中生成N个不重复的随机数
*
* min:随机数生成的实际位置。
* mab:生成随机数的最大位置
* n:要生成多少个随机数?
*
*/
public static int[]random number(int min,int max,int n){
//判断是否达到了要输出的随机数个数。
if(n(最大-最小1) 最大最小){
返回null
}
int[]result=new int[n];//用于存储结果的数组
int count=0;
while(count n){
int num=(int)(math . random()*(max-min))min;
布尔标志=真;
for(int j=0;jcountj ){
if(num==result[j]){
flag=false
打破;
}
}
如果(标志){
结果[计数]=数字;
数数;
}
}
返回结果;
}java学习视频推荐:java开发入门
由于集合的特性,元素不能重复。
/**
*函数:在范围内随机指定n个不重复的数字。
*
* @param min指定最小范围值。
* @param max指定范围的最大值
* @param n个随机数
*/
public static int[]random set(int min,int max,int n) {
set integer set=new HashSetInteger();
int[]array=new int[n];
for(;真实;) {
//调用Math.random()方法
int num=(int)(math . random()*(max-min))min;
//在HashSet中存储不同的数字
set . add(num);
//如果存储的数小于指定的数,则调用递归生成随机数的剩余数,以此类推,直到达到指定的大小。
if (set.size()=n) {
打破;
}
}
int I=0;
for (int a : set) {
array[I]=a;
我;
}
返回数组;
}先把生成的随机数放入集合,再判断集合的大小。如果没有超过要求的长度,继续循环。如果是,跳出循环,把集合变成数组。
更多java相关文章推荐:java语言入门以上是java中如何在指定区间内生成N个不同随机数的细节。更多请关注其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。