我需要帮助我正在创建的随机数生成器.我的代码如下(在一个名为numbers的类中):
public int random(int i){
Random randnum = new Random();
randnum.setSeed(123456789);
return randnum.nextInt(i);
}
Run Code Online (Sandbox Code Playgroud)
当我从另一个类调用此方法时(为了生成一个随机数),它总是返回相同的数字.例如,如果我这样做:
System.out.println(numbers.random(10));
System.out.print(numbers.random(10));
Run Code Online (Sandbox Code Playgroud)
它总是打印相同的数字,例如5 5.我需要做什么才能打印两个不同的数字,例如5 8
我必须设置种子.
谢谢
有时这段代码总是返回相同的数字(有时它工作正常):
(new Random()).nextInt(5)
Run Code Online (Sandbox Code Playgroud)
我怀疑问题在哪里 - 它可能总是创建一个具有相同种子的新Random.那么什么是最好的解决方案:
或者是其他东西?我不需要任何看似随意的东西.
如果有人能够解释为什么原始代码有时会起作用而有时却不能解释,那将会很有帮助.
谢谢.