「java随机不重复的数字」java生成随机不重复的数字
本篇文章给大家谈谈java随机不重复的数字,以及java生成随机不重复的数字对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
Java如何让随机数不重复?
1.JAVA中生成随机数的方式 1、在j2se中使用Math.random()令系统随机选取一个0~1之间的double类型小数,将其乘以一个数,比如25,就能得到一个0~25范围内的随机数,这个在j2me中没有...
2.随机给定范围内N个不重复的数 1、方法一:最简单最易理解的两重循环去重 /** * 随机指定范围内N个不重复的数 * 最简单最基本的方法 * @param min 指定范围最小值 * @param max ...
怎样用java产生一个指定范围而且不重复的随机数?
首先,需要一个范围内的随机数,第二部判重,如果重复了就再次随机.
假设我们需要一个m到n的随机数..
需要用到random函数随机一个从0到1的数.然后再乘m到n的范围,再加m
double i = Math.random() * (m - n) + m ---- 生成随机数
判重..方法有很多种了..比如我们用一个Set来存放已经存在的..
SetDouble set = new LinkedHashSet();
if (set.contains(i)) { 重复了,重新随机 }
else { 向set中添加: set.add(Double.valueOf(i)); }
2017年8月28日 21:37:44
java不重复的随机数
方法一:双重for循环。外层for用于你要取得随机数的个数,然后存到数组里。第二层用于当前生成的和前面的比较如果相等则外层循环变量减1。例如:取得0到10内10个无重复数。
Random r=new Random();
int []m=new int[10];
for(int i=0;im.lenght;i++){
m[i]=r.nextInt(10);
for(int j=i;j0;j--){
if(m[i]==m[j])i--;
}
}
最后m数组中便是0到10内10个无重复数。我不喜欢用数组,上面可把数组换成集合ArrayList;
方法二:集合Hashset实现。自己去查关于hashset的API 。实现如下:
HashSetStringhs=new HashSetString();
Random r=new Random();
for(;;)
{
int temp=r.nextInt(100);
hs.add(temp+"");
if(hs.size()==10)break;
}
是在100内取出10个无重复数。还有其他方法实现,但这两种较简单容易。以上代码均未运行,刚打出来,可能存在语法错误。
JAVA中怎样自动生成不重复的数字
/**
* 随机产生指定范围内不重复的数字
*
* @param min 产生最小数字
* @param max 产生最大数字
* @param count 总共要产生多少个不重复的数
* @return int数组,是从小到大排序后的结果
*/
public static int[] getRandomNumbers(int min, int max, int count) {
int num = 0;
int i = 0;
int[] arrs = new int[count];
if (count (max - min)) {
System.out.println("产生的数字个数超出设定最大最小值之间的范围!");
return null;
}
while (i count) {
num = (int) (Math.random() * max);
if (num = min !ArrayUtils.contains(arrs, num)) {
arrs[i] = num;
i++;
}
}
Arrays.sort(arrs);
return arrs;
}
java随机不重复的数字的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java生成随机不重复的数字、java随机不重复的数字的信息别忘了在本站进行查找喔。
发布于:2022-11-23,除非注明,否则均为
原创文章,转载请注明出处。