[問題] 求亂數不重複的方法已刪文

看板C_Sharp (C#)作者 (postgraduate)時間4年前 (2019/08/04 11:23), 編輯推噓1(1010)
留言11則, 3人參與, 4年前最新討論串1/1
小弟我學C#一個月,目前需要取得25個數字且之間不得重複的亂數 目前自己想了一個方式是,一個袋子裡先裝滿25個亂數(會重複) 然後再拿袋子中的第一個亂數去比對剩下24個亂數,要是重複就重新裝袋子,直到袋子裡 沒有重複的亂數為止 另外設計CONTINUE的部分就是不要讓他比對到自己 https://i.imgur.com/KlNovSh.jpg
https://i.imgur.com/BIdEX0G.jpg
不知道為什麼這段程式碼去執行之後,仍然有重複的亂數在裏頭 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.141.237.187 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1564889029.A.8A4.html

08/04 11:40, 4年前 , 1F
你又沒有重裝(arr清空),只是一直繼續加入而已
08/04 11:40, 1F

08/04 11:43, 4年前 , 2F
要保證不重複,應該用HashSet就好了
08/04 11:43, 2F

08/04 12:39, 4年前 , 3F

08/04 12:39, 4年前 , 4F
雖然沒有清空但我發現只有印出25個亂數 我也不知道
08/04 12:39, 4F

08/04 12:39, 4年前 , 5F
為什麼
08/04 12:39, 5F

08/04 15:31, 4年前 , 6F
你的寫法邏輯怪怪的,再好好想一想
08/04 15:31, 6F

08/04 15:31, 4年前 , 7F
這種亂數後檢查是否重複的方法可以做,對初學者也是不錯的
08/04 15:31, 7F

08/04 15:32, 4年前 , 8F
練習,但實務上用洗牌(shuffle)更簡單,效率也好得多
08/04 15:32, 8F

08/04 15:34, 4年前 , 9F
還有你是怎麼學C#的? 現在應該沒什麼人用 ArrayList 了
08/04 15:34, 9F

08/04 15:51, 4年前 , 10F
你比不出來的原因 就是因為你用了ArrayList,它會把你的
08/04 15:51, 10F

08/04 15:52, 4年前 , 11F
int boxing,你比較時直接用==也沒有unboxing永遠是false
08/04 15:52, 11F
文章代碼(AID): #1THa_5Ya (C_Sharp)
文章代碼(AID): #1THa_5Ya (C_Sharp)