首頁 Java Java基礎 java中取得不重複的隨機數的方法

java中取得不重複的隨機數的方法

Nov 12, 2019 am 11:46 AM
java 方法 獲取 隨機數

java中取得不重複的隨機數的方法

我們知道Random random = new  Random() 中可能會取得重複的隨機數

那麼假設要取得1到33之間的六個不重複隨機數字該怎麼做呢?

實例:

//首先定义一个数字数组存储1到33
int[ ]  redBall = new int[33[;
for(int i = 0;i<redBall.length;i++){
  redBall[i] = i+1;
}
int[ ]  redNumber = new int[6];     //存储六个随机数的实际数组
int index = -1;                             //通过随机数字数组下标获取随机数
for(int i = 0;i<redNumber.length;i++){
  index = random.nextInt(redBall.length-i);   //每次获取数字数组长度-i的随机数,比如第一次循环为33第二次为32,
  redNumber[i] = redBall[index];                   //把数字数组随机下标的值赋给实际数组
  int temp = redBall[index];                           //定义一个变量暂存下标为index时的值
  redBall[index] = redBall[redBall.length-1-i];  //把下标为index的值与数组下标最后的值交换
  redBall[redBall.length-1-i] = temp;             //交换后,下次循环把数字数组最后的值去掉,从而实现不重复
}

推薦教學:Java教學

#

以上是java中取得不重複的隨機數的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1602
29
PHP教程
1504
276
比較Java框架:Spring Boot vs Quarkus vs Micronaut 比較Java框架:Spring Boot vs Quarkus vs Micronaut Aug 04, 2025 pm 12:48 PM

前形式攝取,quarkusandmicronautleaddueTocile timeProcessingandGraalvSupport,withquarkusoftenpernperforminglightbetterine nosserless notelless centarios.2。

鍵盤上的音量鍵無法正常工作 鍵盤上的音量鍵無法正常工作 Aug 05, 2025 pm 01:54 PM

First,checkiftheFnkeysettingisinterferingbytryingboththevolumekeyaloneandFn volumekey,thentoggleFnLockwithFn Escifavailable.2.EnterBIOS/UEFIduringbootandenablefunctionkeysordisableHotkeyModetoensurevolumekeysarerecognized.3.Updateorreinstallaudiodriv

如何在Java加入一系列字符串? 如何在Java加入一系列字符串? Aug 04, 2025 pm 12:55 PM

使用String.join()(Java8 )是連接字符串數組最簡單推薦的方法,直接指定分隔符即可;2.對於舊版本Java或需要更多控制時,可使用StringBuilder手動遍歷並拼接;3.StringJoiner適用於需要前綴、後綴等更靈活格式的場景;4.使用Arrays.stream()結合Collectors.joining()適合在連接前對數組進行過濾或轉換等操作;綜上所述,若使用Java8及以上版本,大多數情況下應首選String.join()方法,語法簡潔易讀,而對於復雜邏輯則推薦

Python記錄到文件示例 Python記錄到文件示例 Aug 04, 2025 pm 01:37 PM

Python的logging模塊可通過FileHandler將日誌寫入文件,首先調用basicConfig配置文件處理器和格式,如設置level為INFO、使用FileHandler寫入app.log;其次可添加StreamHandler實現同時輸出到控制台;進階場景可用TimedRotatingFileHandler按時間分割日誌,例如設置when='midnight'實現每日生成新文件並保留7天備份,需確保日誌目錄存在;建議使用getLogger(__name__)創建命名logger,生產

python pandas造型數據框架示例 python pandas造型數據框架示例 Aug 04, 2025 pm 01:43 PM

在JupyterNotebook中使用PandasStyling可實現DataFrame的美觀展示,1.使用highlight_max和highlight_min高亮每列最大值(綠色)和最小值(紅色);2.通過background_gradient為數值列添加漸變背景色(如Blues或Reds)以直觀顯示數據大小;3.自定義函數color_score結合applymap為不同分數區間設置文字顏色(≥90綠色,80~89橙色,60~79紅色,

如何比較Java中的兩個字符串? 如何比較Java中的兩個字符串? Aug 04, 2025 am 11:03 AM

使用.equals()方法比較字符串內容,因為==僅比較對象引用而非內容;1.使用.equals()比較字符串值是否相等;2.使用.equalsIgnoreCase()進行忽略大小寫的比較;3.使用.compareTo()按字典順序比較字符串,返回0、負數或正數;4.使用.compareToIgnoreCase()進行忽略大小寫的字典序比較;5.使用Objects.equals()或安全調用方式處理null字符串,避免空指針異常。總之,應避免使用==進行字符串內容比較,除非明確需要檢查對像是否相

計算的屬性與VUE中的方法 計算的屬性與VUE中的方法 Aug 05, 2025 am 05:21 AM

computed有緩存,依賴不變時多次訪問不重新計算,而methods每次調用都執行;2.computed適用於基於響應式數據的計算,methods適合需要參數或頻繁調用但結果不依賴響應式數據的場景;3.computed支持getter和setter,可實現數據的雙向同步,methods不支持;4.總結:優先使用computed以提升性能,當需要傳參、執行操作或避免緩存時使用methods,遵循“能用computed就不用methods”的原則。

Edge PDF查看器不起作用 Edge PDF查看器不起作用 Aug 07, 2025 pm 04:36 PM

testthepdfinanotherapptoderineiftheissueiswiththefileoredge.2.enablethebuilt inpdfviewerbyTurningOff“ eflblyopenpenpenpenpenpdffilesexternally”和“ downloadpdffiles” inedgesettings.3.clearbrowsingdatainclorwearbrowsingdataincludingcookiesandcachedcachedfileresteroresoreloresorelorsolesoresolesoresolvereresoreorsolvereresoreolversorelesoresolvererverenn

See all articles