国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

java生成6位不重復隨機數,求救各位道友

瀏覽:119日期:2023-10-24 13:14:12

問題描述

我知道循環下去沒有不重復的~,只能降低重復率,但是還是得戳一戳~,有沒有道友來一波~

問題解答

回答1:

我認為隨機的意義在于前后兩次的結果值不可預測,推廣說就是知道A1 A2 并不能推算出A3這個意思。你說的重復值的問題應該從概率的角度來衡量,如果每個值獲取的概率都是相等的,就屬于”隨機“的意思了,兩次結果重復不能說明這就不夠”隨機“。

如果一定要嚴格限定取值不重復,你需要有一個存儲的地方,而且這個不重復也一定有個時間或者空間的范圍。

回答2:

以前在CSDN上看到隨機產生不重復的數字的算法:

int startArray[] = {0,1,2,3,4,5,6,7,8,9};//seed array int N = 6;//隨機數個數 int resultArray[] = new int [N];//結果存放在里面 for(int i = 0; i < N; i++) {int seed = random(0, startArray.length - i);//從剩下的隨機數里生成resultArray[i] = startArray[seed];//賦值給結果數組startArray[seed] = startArray[startArray.length - i - 1];//把隨機數產生過的位置替換為未被選中的值。 } 回答3:

一個笨辦法就是直接初始化數組,每個數字對號入座,然后隨機挑選,第一次的結果與倒數第一位交換,第二次的結果與倒數第二位交換,當然交換后,下次挑隨機數的范圍也會相應減一。

至于效率如何,樓主可以執行下。

public static void main(String[] args) { // 初始化數組 int[] arr = new int[1000000]; for (int i = 0; i < arr.length; i++) {arr[i] = i; } int randomCount = 1000; // 要生成多少個隨機數 Random random = new Random(); // 隨機數生成器 long startTime = System.currentTimeMillis(); // 計時 for (int i = 0; i < randomCount; i++) {// 隨機挑選int pickIndex = random.nextInt(arr.length - i);// 交換int t = arr[pickIndex];arr[pickIndex] = arr[arr.length - 1 - i];arr[arr.length - 1 - i] = t; } System.out.println('take time: ' + (System.currentTimeMillis() - startTime) + ' ms'); // 輸出結果(超過一萬就不輸出了,直接看耗時) if (randomCount < 10000) {for (int i = 0; i < randomCount; i++) { System.out.printf('%06d ', arr[arr.length - i - 1]); if (i % 40 == 39) {System.out.println(); }} }}回答4:

生命周期長的話,十萬還是很容易就用完的.用完之后再怎么生成也是重復的.

最簡單的, Math.random()*10_0000,然后轉int.無法保證不重復

遞增,類似于mysql的主鍵遞增.從1開始,不足六位的話,前面用0補足

高級點.六位數可以用各種影響因素來進行組合,當然這個位數比較短,可考慮的因素不是很多.

最后,給一個參考鏈接,分布式系統ID生成. 這個可能跟你的問題沒有關系,但是也有一些參考性.

回答5:

ThreadLocalRandom.current().ints(0, 100).distinct().limit(6).forEach(System.out::println);

0到100是范圍,6是個數。更重要的是線程安全。

標簽: java
主站蜘蛛池模板: 美女a毛片 | 污美女网站www在线观看 | 欧美高清在线精品一区二区不卡 | 黄色三级网站在线观看 | 久久久久88色偷偷免费 | 亚洲欧美成人 | 亚洲视屏在线 | 人成午夜性刺激免费 | 国产高清一区二区三区视频 | 一区二区三区中文国产亚洲 | 久艹精品 | 欧美一级俄罗斯黄毛片 | 午夜看片网站 | 99精品国产成人一区二区 | 日韩精品亚洲人成在线观看 | 欧美成人日韩 | 久草草视频在线观看免费高清 | 欧美亚洲一区二区三区在线 | 久久亚洲视频 | 成人久久18网站 | 欧美一区不卡二区不卡三区 | 毛片高清| 91亚洲国产成人久久精品网站 | 日韩中文字幕在线观看 | 碰碰碰人人澡人人爱摸 | 国产日韩欧美 | 步兵精品手机在线观看 | 一本色道久久爱 | 久久中文亚洲国产 | 日韩欧国产精品一区综合无码 | va欧美 | 久久成人动漫 | 亚洲制服丝袜美腿亚洲一区 | 成年女人毛片 | 青青草国产免费久久久91 | 精品午夜寂寞黄网站在线 | 欧美成人午夜片一一在线观看 | 日本免费一区二区三区毛片 | 一级毛片欧美大片 | 古代级a毛片可以免费看 | 一级黄色美女视频 |