Java中如何隨機選取乙個長度為10的陣列中的5個不重複的數?

時間 2021-06-02 00:14:40

1樓:luoxn28

初始化N=陣列長度(10),每次`Random().nextInt(N)`結果為m,然後將下標為m的資料和陣列最後乙個元素交換位置,然後N--,繼續`Random().nextInt(N)`直到找到5個資料即可,也就是陣列中最後5個元素。

2樓:Aetherus

HashMap

,Boolean

>duplicationTable

=new

HashMap

<>();

for(

intn

:yourIntArray

)ArrayList

>nonDuplicate

=new

ArrayList

<>();

for(

Entry

,Boolean

>entry

:duplicationTable

.entrySet

())}

Random

random

=new

Random

();HashSet

>set=

newHashSet

<>();

while

(set

.size

()<5)

Strings=

"";for(

Integern:

set)s=

s.trim

();System

.out

.println(s

);因為題主指定只能用迴圈,所以很麻煩。

順道秀一把Ruby做這事有多簡單:s=

your_int_array

.tally

# 清算每個元素的出現次數個數,返回 的雜湊表.select

# 挑選出只出現一次的元素,返回

.keys

# 只要key,即元素本身,返回 [元素].sample(5

)# 隨機挑5個

.join

(' '

)# 用空格拼接成字串

puts#br 列印

集合 X 有 n 個元素,從集合 X 中隨機選取 A B 兩個子集。A 是 B 的子集的概率是多少?

nightie 任何子集都能等概率被抽中,那就說明任何子集的元素數量是一樣的咯,然後a是b子集,說明a b咯,我好像進入乙個奇怪的思維. 平方 這題目不需要用條件概率 組合求和 數學歸納法吧。如果AB是對這個n元集個元素等概率取子集的話,每個元素無非就是四種狀態 1.只在A中 2.只在B中 3.既在...

java中為什麼建構函式中的引數傳遞乙個類的物件來實現直接在該類中生成乙個想要傳遞類的物件?

烏索普 兩種不同用法,畢竟是函式引數,你不但可以傳本類物件,也可以傳子類物件,不需要改什麼東西。如果在類裡面寫死,那麼你再想修改。就只能去類裡面改了 酷安小黃 題主,你是怎麼在類B建立乙個A的引用,然後在測試類中構建B類的物件的?傳引數只能按照你注釋之後的那樣穿,類與類之間才能關聯起來。並不是哪種好...

初學java,如何配乙個夠用的主機?

Alexander Huang 個人比較推薦 MacBook Pro 和 ThinkPad T系列這兩個。具體選哪個看你自己需求了。強烈建議記憶體至少16G 乙個Windows乙個Mac,兩個系統不一樣。熟悉哪個用哪個。 白河愁 cpu I5 顯示卡最好沒有獨顯 硬碟一定要SSD,120g足矣,不玩...