日期:2014-5-18 浏览次数:20215次 点赞次数:20

请教一个随机抽签程序的思想,谢谢!!
我想实现从固定两个数字中随机抽取一个数字,然后再次抽取一个数字,直到抽取完数字为止,每次抽去的数字不能重复,请教最好的做法!谢谢!!


------解决方案--------------------
参考 例如:

static public class RandomCard
{
static Random Rdm = new Random();
static public List <Cards> ReturnCard()
{
List <Cards> list = new List <Cards> ();
int itemp = 0;
while (list.Count != 52)
{

itemp = Rdm.Next(1,53);
if (!list.Contains((Cards)(itemp)))
{
list.Add((Cards)(itemp));
}
}
return list;

}
}
------解决方案--------------------
Cards是自定义的类
<cards>泛型的写法阿
------解决方案--------------------
分两步,1、得到完整的数字放到列表中 2、从余下的列表中随机抽取1个数字。

List <int> l = new List <int> ();
for (int i = 10; i < 100; i++)
{
l.Add(i);
}

Random vRandom = new Random();
while (l.Count > 0)
{
int j = vRandom.Next(l.Count);
Console.WriteLine(l[j]);
l.Remove(j);
}