91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

random.next如何避免重復值問題

小樊
92
2024-07-04 19:26:20
欄目: 編程語言

要避免重復值問題,可以采取以下方法:

  1. 使用Set來存儲已經生成過的隨機數,每次生成隨機數之前先檢查Set中是否包含這個隨機數,如果包含則重新生成一個新的隨機數。
Set<Integer> set = new HashSet<>();
Random random = new Random();

int nextRandom;
do {
    nextRandom = random.nextInt();
} while(set.contains(nextRandom));
set.add(nextRandom);
  1. 可以將生成的隨機數存儲到一個數組中,每次生成隨機數之前先從數組中隨機選擇一個值,并將其與數組最后一個元素進行交換,隨機數的范圍縮小到數組中前面的元素。
int[] randomArr = new int[N];
for (int i = 0; i < N; i++) {
    randomArr[i] = random.nextInt();
}

int nextRandom = randomArr[N - 1];
int index = random.nextInt(N - 1);
int temp = randomArr[index];
randomArr[index] = randomArr[N - 1];
randomArr[N - 1] = temp;

這樣每次生成的隨機數都不會重復,可以有效避免重復值問題。

0
会昌县| 永城市| 皋兰县| 松原市| 临沂市| 吉安县| 锡林郭勒盟| 柳江县| 崇信县| 石屏县| 茌平县| 江都市| 孙吴县| 临夏市| 东莞市| 乾安县| 成都市| 房产| 乐安县| 全椒县| 昭通市| 湘乡市| 长岭县| 汉源县| 黄大仙区| 和平县| 惠水县| 体育| 寿宁县| 岑溪市| 泾阳县| 千阳县| 白河县| 宣威市| 衡阳市| 遵义县| 织金县| 沂南县| 长海县| 奇台县| 海口市|