首页 新闻 搜索 专区 学院

随机数的种子

3
悬赏园豆:5 [已解决问题] 解决于 2011-03-04 13:52

有个问题一直搞不懂,随机数的种子到底是做什么的 比如 Random random=new Random(5); int num=random.bext(); 这个num就一直不变 这是什么回事呢,知道的请留言。tks

双魂人生的主页 双魂人生 | 初学一级 | 园豆:63
提问于:2010-12-12 12:23
< >
分享
最佳答案
0

现在随机数是伪随机的,是由一定的算法根据种子计算出来的。你可以看下这篇文章了解下.net的随机数:http://www.cnblogs.com/rainy/archive/2006/08/05/468670.html

我一般用guid的hashcode做随机数,如:

Random rnd = new Random(Guid.NewGuid().GetHashCode());

收获园豆:5
vento | 菜鸟二级 |园豆:237 | 2010-12-12 14:02
这个方法不错哈
artwl | 园豆:16536 (专家六级) | 2010-12-12 16:38
其他回答(3)
0

这种方法产生的随机数不是真正的随机,是伪随机,是通过一个算法算出来的,所以会出现num不变的现象。

artwl | 园豆:16536 (专家六级) | 2010-12-12 12:37
0

同上,你可以将Random提升为静态变量,或者每次使用不同的Seed

LittlePeng | 园豆:3395 (老鸟四级) | 2010-12-12 12:53
0

比如学生考试排座号,我吸取老师的建议,从十个数里抽出一个数做十位,十个数里抽出个数做个位。

然后排序。

豫州邢帥 | 园豆:338 (菜鸟二级) | 2010-12-12 22:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册