您的位置:首页 > 编程语言 > Java开发

Java生成不重复的随机数

2017-06-15 17:40 459 查看
public class test {

public static int[] Randoms(int number) {

Random rand = new Random(); //创建一个新随机数生成器
int nu[] = new int[7];   //创建一个7位的数组,主要是保存结果,我需要7个不重复的随机值
boolean[] bool = new boolean[number + 1];  #+1是因为在下面随机数中我为了避开传入的数,不从0开始,所以+1,如果现在这里不加1,会提示越界
int randint = 0;
for (int i = 0; i < 7; i++) {
do {
randint = rand.nextInt(number) + 1;  生成给定的随机数
} while (bool[randint]);   #是否已经生成数字,    bool[randint] 默认是false,如果状态已经设置为了true,不进入状态,有执行do
bool[randint] = true;   //状态设置为true
nu[i] = randint;
}
return nu;

}

public static void main(String[] args) {
int str[] = Randoms(11);
for (int i : str) {
System.out.println(i);
}

}
}




 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: