zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Java生成不重复的随机数

JAVA 生成 重复 随机数
2023-09-11 14:14:15 时间
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);
           }

     }
}