avatar
java random set seed question# Programming - 葵花宝典
J*y
1
java 有经验的,帮忙看看这个问题:
if (Math.random()>.5)
setid=2;
else
setid=1;
怎样set seed, 使setid 值固定,便于检验结果?
3x
avatar
g*g
2
Math.random()的值永远<1,所以setid=2.
Math.random调用的是Random的缺省constructor, 缺省constructor调用的是
Random() { this(System.currentTimeMillis()); }
所以如果你要固定的序列,用
public Random(long seed)方法
比如类似
Random random = new Random(0);
setid = random.nextInt(10) > 5? 2:1;

【在 J*y 的大作中提到】
: java 有经验的,帮忙看看这个问题:
: if (Math.random()>.5)
: setid=2;
: else
: setid=1;
: 怎样set seed, 使setid 值固定,便于检验结果?
: 3x

avatar
J*y
3
thanks
yes. have to use random. math.random cannot set seed.

【在 g*****g 的大作中提到】
: Math.random()的值永远<1,所以setid=2.
: Math.random调用的是Random的缺省constructor, 缺省constructor调用的是
: Random() { this(System.currentTimeMillis()); }
: 所以如果你要固定的序列,用
: public Random(long seed)方法
: 比如类似
: Random random = new Random(0);
: setid = random.nextInt(10) > 5? 2:1;

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。