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();
}
用ASP.NET写的程序,为什么随机数总是一样的呢?求解释。。。
答案:4 悬赏:50 手机版
解决时间 2021-02-09 04:44
- 提问者网友:骑士
- 2021-02-08 09:26
最佳答案
- 五星知识达人网友:你可爱的野爹
- 2021-02-08 10:13
这个没什么好解释的,因为你为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();
}
全部回答
- 1楼网友:走死在岁月里
- 2021-02-08 12:57
要给他加上种子,一般用当前时间作种子
- 2楼网友:酒安江南
- 2021-02-08 12:42
加一个参数 试试这个
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();
- 3楼网友:低音帝王
- 2021-02-08 11:47
你想每次都不同,可以用当前时间做种子。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯