我的WinForms彩票计划要求8个号码。其中前7个是乐透签,最后一个代表旋转次数。点击“开始按钮”后,用户可以看到他获得5,6或7场比赛的次数。问题在于这些结果,它们非常不一致。我可以在第一次尝试后获得例如099s,46223-6s和0-7s在999999次旋转中,第二次尝试:12512-5s,5002-6s,0-7s和第3次尝试我得到3个零(0 0 0)。我使用Debugger(在Visual Studio中工作)完成了代码,双打不再存在任何问题。说实话,我不知道出了什么问题。
代码如下:
for (int n = 0; n < spins; n++)
{
List<string> rand = func.randomizer();
rand = func.compare(numb, rand);
if (rand.Count == 2) five++;
if (rand.Count == 1) six++;
if (rand.Count == 0) seven++;
{
和随机数发生器并比较:
public List<string> randomizer()
{
ArrayList randNumb = new ArrayList();
Random generator = new Random();
int randomNumb;
List<string> rand = new List<string>();
for (int i = 0; i < 7; i++)
{
do
{
randomNumb = generator.Next(1, 36);
}while (randNumb.Contains(randomNumb));
randNumb.Add(randomNumb);
rand.Add(randomNumb.ToString());
}
return rand;
}
public List<string> compare(List<string> numb, List<string> rand)
{
rand.Remove(numb[0]);
rand.Remove(numb[1]);
rand.Remove(numb[2]);
rand.Remove(numb[3]);
rand.Remove(numb[4]);
rand.Remove(numb[5]);
rand.Remove(numb[6]);
return rand;
}
感谢您的帮助。 /弓