在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

java数组随机数不能重复如何解决

118次阅读
没有评论

共计 1428 个字符,预计需要花费 4 分钟才能阅读完成。

要解决 Java 数组随机数不能重复的问题,可以使用以下方法:

  1. 使用 java.util.Random 类生成随机数,并将生成的随机数存入 Set 集合中。由于 Set 集合不允许重复元素,因此可以保证生成的随机数不重复。然后,将 Set 集合转换为数组。
import java.util.HashSet;
import java.util.Random;
import java.util.Set;

public class RandomArray {public static void main(String[] args) {int[] array = generateRandomArray(10, 1, 100);
        for (int num : array) {System.out.println(num);
        }
    }

    public static int[] generateRandomArray(int length, int min, int max) {if (length > (max - min + 1)) {throw new IllegalArgumentException(" 生成不了指定范围内的不重复随机数!");
        }
        
        Random random = new Random();
        Set<Integer> set = new HashSet<>();
        
        while (set.size() < length) {int randomNum = random.nextInt(max - min + 1) + min;
            set.add(randomNum);
        }
        
        int[] array = new int[length];
        int index = 0;
        for (int num : set) {array[index++] = num;
        }
        
        return array;
    }
}
  1. 另一种方法是使用 Fisher-Yates 算法,该算法通过交换数组元素的位置来生成不重复的随机数。
import java.util.Random;

public class RandomArray {public static void main(String[] args) {int[] array = generateRandomArray(10, 1, 100);
        for (int num : array) {System.out.println(num);
        }
    }

    public static int[] generateRandomArray(int length, int min, int max) {if (length > (max - min + 1)) {throw new IllegalArgumentException(" 生成不了指定范围内的不重复随机数!");
        }
        
        int[] array = new int[length];
        Random random = new Random();
        
        for (int i = 0; i < length; i++) {int randomIndex = random.nextInt(max - min + 1 - i) + i;
            array[i] = randomIndex;
            
            int temp = array[i];
            array[i] = array[randomIndex];
            array[randomIndex] = temp;
        }
        
        for (int i = 0; i < length; i++) {array[i] = array[i] + min;
        }
        
        return array;
    }
}

这两种方法都是通过生成随机数并存入数组中,保证随机数不重复。第一种方法使用了 Set 集合,第二种方法使用了 Fisher-Yates 算法。可以根据具体的需求选择使用哪种方法。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-13发表,共计1428字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 少妇特殊按摩高潮惨叫无码 | 免费播放特黄特色毛片 | 精品久久久久久久久久久aⅴ | 无码性午夜视频在线观看 | 国产一区二区三区 | 国内精品人妻无码久久久影院蜜桃 | 久久国产精品久久精品国产 | 男人天堂网2022| 亚洲码欧美码一区二区三区 | 亚洲av日韩aⅴ无码色老头 | 国产资源网站 | 青青草原综合久久大伊人精品 | 久久欧美与黑人双交男男 | 青青草视频国产 | 国内少妇人妻丰满av | 深夜释放自己黄瓜视频 | 中文字幕日韩在线 | 青青草成人在线 | www.99在线观看 | 在线视频毛片 | 无码国产精品一区二区免费16 | 国产一级淫片a免费播放口之 | 拍拍拍观看免费播放 | 国产成人无码网站 | 亚洲一区爱区精品无码 | 久久精品视频8 | 久久久久亚洲精品影视 | 99精品热线在线观看免费视频 | 亚洲精品a | 成熟丰满熟妇高潮xxxxx视频 | 免费成人午夜视频 | 亚州一区二区 | 91精品国产免费网站 | 免费一区二区三区四区五区 | 99精品亚洲 | 国产日本三级 | 亚洲精品无码久久久久av麻豆 | 亚洲国产成人精品福利无码 | 国产农村户外妇性视频 | 三区在线视频 | 91午夜精品亚洲一区二区三区 |