「java随机不重复数字」java 生成不重复随机数
今天给各位分享java随机不重复数字的知识,其中也会对java 生成不重复随机数进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、Java怎么产生不重复的随机数,求代码
- 2、java抽取不重复随机数
- 3、怎样用java产生一个指定范围而且不重复的随机数?
- 4、Java如何让随机数不重复?
- 5、请问用java从1-33个整数中随机抽取6个数字 且不重复 1-16随机抽取一个数,给小球?
Java怎么产生不重复的随机数,求代码
/**
* 随机指定范围内N个不重复的数
* 最简单最基本的方法
* @param min 指定范围最小值
* @param max 指定范围最大值
* @param n 随机数个数
*/
public static int[] randomCommon(int min, int max, int n){
if (n (max - min + 1) || max min) {
return null;
}
int[] result = new int[n];
int count = 0;
while(count n) {
int num = (int) (Math.random() * (max - min)) + min;
boolean flag = true;
for (int j = 0; j n; j++) {
if(num == result[j]){
flag = false;
break;
}
}
if(flag){
result[count] = num;
count++;
}
}
return result;
}
java抽取不重复随机数
r[i]=C.nextInt(10);
改成r[i]=C.nextInt(100);//0到100之间取值
for(int
i=0;i12;i++)是取12个
随机数
10个数怎么能取出12个不重复的,
死循环
了
怎样用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如何让随机数不重复?
1.JAVA中生成随机数的方式 1、在j2se中使用Math.random()令系统随机选取一个0~1之间的double类型小数,将其乘以一个数,比如25,就能得到一个0~25范围内的随机数,这个在j2me中没有...
2.随机给定范围内N个不重复的数 1、方法一:最简单最易理解的两重循环去重 /** * 随机指定范围内N个不重复的数 * 最简单最基本的方法 * @param min 指定范围最小值 * @param max ...
请问用java从1-33个整数中随机抽取6个数字 且不重复 1-16随机抽取一个数,给小球?
完整代码为:
public class Main {
public static void main(String[] args) {
int index = 1;
int[] redBalls = new int[6];
Random random = new Random();
boolean getMoreRed = true;
boolean getAgain;
System.out.println("开始抽取红球!");
while (getMoreRed) {
getAgain = false;
int red = random.nextInt(36) + 1;
System.out.print("本次抽取到的红球为:[" + red + "]!");
for (int i = 0; i index; i++) {
if (redBalls[i] == red) {
System.out.print("重复抽取,将重新抽取红球");
getAgain = true;
break;
}
}
System.out.println("");
if (getAgain){
continue;
}
redBalls[index - 1] = red;
index++;
getMoreRed = index 7;
}
System.out.println("抽取到的红球为:");
Arrays.sort(redBalls);
for (int redBall : redBalls) {
System.out.print(redBall + " ");
}
System.out.println("\n\n开始抽取蓝球!");
System.out.println("本次抽取到的蓝球为:[" + (random.nextInt(16) + 1) + "]!");
}
}
运行结果:
普通抽取:
重复时抽取:
关于java随机不重复数字和java 生成不重复随机数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-28,除非注明,否则均为
原创文章,转载请注明出处。