看板 C_Sharp 關於我們 聯絡資訊
※ 引述《vintagehsieh (KIWI)》之銘言: : 大家好,最近在寫一個題目是1A2B。 : 其中有個部分是檢查隨機生成的四位數字是否有重複, : 例如0123就可以,但1123就不行(因為1重複了), : 但是不太知道怎麼寫, : 能執行的時候還是會跑出有重複的數字。 : 我的步驟如下: : 1. 製造一個長度為四的陣列(answer) : 2. 然後隨機種子選取四個數字,透過for迴圈放到答案中 : 3. 跳到檢查的方法中,檢查直到通過,再返回答案存到答案中 : 我的程式碼如下: 給你參考 public class GuessNumber { public int[] answer; public void newGame() { this.answer = RandomCheck(); } public int[] RandomCheck() { int[] answer = new int[4]; var random = new Random(Guid.NewGuid().GetHashCode()); for (int i = 0; i < answer.Length; i++) answer[i] = random.Next(0, 10); for (int i = 0; i < answer.Length - 1; i++) { for (int j = i + 1; j < answer.Length; j++) { if (answer[i] == answer[j]) { //重複了,再重跑一次 return RandomCheck(); } } } return answer; } } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.77.253.180 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1667184913.A.F9E.html