用ASP.NET写的程序,为什么随机数总是一样的呢?求解释。。。
protectedvoidPage_Load(objectsender,EventArgse){RandomR_Num1=newRandom();NUM1.Text=R_...
protected void Page_Load(object sender, EventArgs e)
{
Random R_Num1 = new Random();
NUM1.Text=R_Num1.Next(1, 100).ToString();
Random R_Num2 = new Random();
NUM2.Text= R_Num2.Next(1,100).ToString();
} 展开
{
Random R_Num1 = new Random();
NUM1.Text=R_Num1.Next(1, 100).ToString();
Random R_Num2 = new Random();
NUM2.Text= R_Num2.Next(1,100).ToString();
} 展开
展开全部
这个没什么好解释的,因为你为ASP.NET每次编释随机数时第一次都基本相同。
第二次有40%的机率相同,而第三次相同的机率就相对低很多。
所以编写取随机数大多数使用的方法是多次.next
也就是
protected void Page_Load(object sender, EventArgs e)
{
Random R_Num1 = new Random();
R_Num1.Next()
R_Num1.Next()
NUM1.Text=R_Num1.Next(1, 100).ToString();
Random R_Num2 = new Random();
R_Num2.Next()
R_Num2.Next()
NUM2.Text= R_Num2.Next(1,100).ToString();
}
第二次有40%的机率相同,而第三次相同的机率就相对低很多。
所以编写取随机数大多数使用的方法是多次.next
也就是
protected void Page_Load(object sender, EventArgs e)
{
Random R_Num1 = new Random();
R_Num1.Next()
R_Num1.Next()
NUM1.Text=R_Num1.Next(1, 100).ToString();
Random R_Num2 = new Random();
R_Num2.Next()
R_Num2.Next()
NUM2.Text= R_Num2.Next(1,100).ToString();
}
展开全部
加一个参数 试试这个
Random R_Num1 = new Random(DateTime.Now.Millisecond);
NUM1.Text = R_Num1.Next(1, 100).ToString();
Random R_Num2 = new Random(DateTime.Now.Millisecond + 1);
NUM2.Text = R_Num2.Next(1, 100).ToString();
Random R_Num1 = new Random(DateTime.Now.Millisecond);
NUM1.Text = R_Num1.Next(1, 100).ToString();
Random R_Num2 = new Random(DateTime.Now.Millisecond + 1);
NUM2.Text = R_Num2.Next(1, 100).ToString();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你想每次都不同,可以用当前时间做种子。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要给他加上种子,一般用当前时间作种子
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询