Java生成不重复的随机数
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); } } }
作者:做梦的人(小姐姐) 出处:https://www.cnblogs.com/chongyou/ 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。 如果文中有什么错误,欢迎指出。以免更多的人被误导。 微信号:18582559217 |