Re: [問題] 1A2B遊戲的問題
※ 引述《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
討論串 (同標題文章)
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章