java random set seed question# Programming - 葵花宝典J*y2007-07-12 07:071 楼java 有经验的,帮忙看看这个问题:if (Math.random()>.5)setid=2;elsesetid=1;怎样set seed, 使setid 值固定,便于检验结果?3x
g*g2007-07-12 07:072 楼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
J*y2007-07-12 07:073 楼thanksyes. 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;