Java random在我设置种子时总是返回相同的数字?

我需要有关正在创建的随机数生成器的帮助。我的代码如下(在一个称为数字的类中):

public int random(int i){

Random randnum = new Random();

randnum.setSeed(123456789);

return randnum.nextInt(i);

}

当我从另一个类调用此方法(以生成随机数)时,它总是返回相同的数字。例如,如果我要这样做:

System.out.println(numbers.random(10));

System.out.print(numbers.random(10));

它总是打印相同的数字,例如55。我必须怎么做才能打印两个不同的数字,例如5 8

我必须设置种子。

谢谢

回答:

你需要Random()在整个类中共享实例:

public class Numbers {

Random randnum;

public Numbers() {

randnum = new Random();

randnum.setSeed(123456789);

}

public int random(int i){

return randnum.nextInt(i);

}

}

以上是 Java random在我设置种子时总是返回相同的数字? 的全部内容, 来源链接: utcz.com/qa/427794.html

回到顶部