C#编的简单彩票系统遇到的问题

来源:百度知道 编辑:UC知道 时间:2024/06/17 19:15:13
private void button2_Click(object sender, EventArgs e)
{
int [] a=new int[3];
Random b = new Random();
for (int i = 0; i < a.Length; i++)
{
a[i] = b.Next(0,10);

}//产生随机数

//排序
for (int i = 0; i <a.Length-1; i++)
{
for (int j = i+1; j <a.Length; j++)
{
if (a[i]>a[j])
{
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
label4.Text = "上次查看时间为:" + System.DateTime.Now.ToString();

label3.Text = "本期中奖号码为:" + " " + a[0] + " " + a[1] + " " + a[2];

以上是一个彩票系统 查看本期中奖号码按钮

Random是伪随机数,理论上讲是计算出来的,也就是说如果知道上一次的结果,就可以推算出下次的结果。呵呵,人类就是这么自欺欺人。
不过这个类有个种子值,如果这个数值不同,每次计算出来的结果就会不同了。通常的写法:Random b = new Random(DateTime.Now.Millisecond);
有了这个,每次出来的值就不同了。

即然是WEI随机,就别用DateTime.Now.Millisecon作种子。
用固定值,比如你要查的期号 2012011做种子。
这样,只是查该期的随机号,都要是唯一的。

我试了。没找出办法。如果你找出了。请给我留个言。谢谢。如果可以用文件的相关东西来弄的话。我觉得太麻烦了。也不知道对你有帮助没得。谢谢。