Re: [問題] 1-42取出6+1個數字
※ 引述《infinitlee (Infinity)》之銘言:
: 你可以用vector 之類的容器,把random 出來的值丟進去,
: 下次在抓的時候用equals() 方式判斷,如果為true 就再重新抓..
: 用各do{..}while()迴圈包起來..不重複加1,直到抓滿你要的數量
: 也許這種方式不是很好.. 但是應該可以幫你解決問題
如果用了vector
我建議不如當初42個數字就存進vector裡面(O(n))
接著就for loop run 7次,
每次都random一個index(random的範圍要一次縮小1),
依照此index去vector取值
取完後便把vector[index]remove掉(這就是為什麼random的範圍會一次少1)
如此你怎麼樣也不會取到相同的數字
你甚至可以random vector裡面存的1~42的順序
不過我覺得應該沒必要
最後記得要用garbage collection ^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.106.130
討論串 (同標題文章)
java 近期熱門文章
PTT數位生活區 即時熱門文章