-1
所以我正在做一個程序,用戶可以選擇20個不同的數字,然後程序會打印出隨機7個字符長的樂透號碼。我試圖做的是通過按下輸入程序將打印出另外7個字符長的樂透號碼從那些選擇的20個號碼,這些行每次都會有所不同。這是迄今爲止我所擁有的。如何從給定數字打印出不同的樂透號碼行?
編輯。下面的代碼應該是正確的,現在它的作用是隻打印一個樂透號碼行。我想要做的更多的是,再次按下Enter鍵,它會從用戶可以選擇的號碼中打印另一個樂透號碼行。問題在於這些樂透號碼行必須每次都有所不同。基本上,該程序不斷打印新的樂透號碼行,直到你不能再做任何不同的行。希望能解釋得更好一些,並且詢問我是否必須更加專注,謝謝!
public class Lotto
{
List<int> numbers = new List<int>();
public void NumberLoop()
{
Console.WriteLine("Choose 20 numbers: ");
for (int i = 0; i < 20; i++)
{
string input = Console.ReadLine();
int number = Convert.ToInt32(input);
numbers.Add(number);
}
}
public void Random()
{
Random rnd = new Random();
List<int> results = new List<int>();
int[] numbah = new int[7];
for (int i = 0; i < 7; i++)
{
int result = rnd.Next(0, 19);
int num = numbers[result];
if (!results.Contains(result))
{
Console.Write(num + " , ");
results.Add(num);
}
else
{
i--;
}
}
}
}
}
}
什麼是與當前的代碼的問題? – Sybren
與您期待的結果相比,您會得到什麼結果?只需將其添加到您的帖子中,這可以幫助我們進一步瞭解您的問題。 – Timmy
不是問題的解決方案,但是你有一個錯誤:'rnd.Next(0,19)'上邊界是排他性的,所以你想'rnd.Next(0,20)' –