gpt4 book ai didi

java - 2个周期随机,需要重新初始化吗?

转载 作者:行者123 更新时间:2023-12-01 17:39:23 25 4
gpt4 key购买 nike

我有这个代码:

Random r = new Random();
while (mStack[step].hasNext()) {
int rand = r.nextInt(length);
for (int i = rand; i < length+rand; i++) {
//use of i and rand
}
}

所有这些都在递归调用中。

这会为每次 while 迭代生成一个新的随机数,并且每次递归调用都不同吗?

或者我必须使用

while (mStack[step].hasNext()) {
Random r = new Random();
int rand = r.nextInt(length);
for (int i = rand; i < length+rand; i++) {
//use of i and rand
}
}

请指教

最佳答案

不断地重新播种是没有好处的。创建 Random 的单个实例,并将其作为参数传递到堆栈上的递归方法。

Java 6 中的无参数 Random 构造函数使用实例计数器与当前 System.nanoTime() 值的总和作为种子。当然,nextInt() 不会执行重新播种。

关于java - 2个周期随机,需要重新初始化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2908020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com