你能帮助我理解这些随机化的含义吗?
我在c代码中找到它,我必须翻译,它总是返回41:
int main(){
srand(1);
printf("\n%d",rand());
}
如何在Java中模拟srand(1)和rand()?
答案 0 :(得分:1)
我的回答是假设您只想模仿srand()和rand()的行为,但不关心你说的总是得到的'41'。
这基本上只是伪随机数生成的想法。如果将种子设置为常量值(在本例中为1),则调用random()函数,它将始终返回相同的值。这是因为它基本上是说“在'随机'数字的大列表中将索引设置为1”,以便下次我调用random时它返回该'list'中的第n个值。实际上,它有点复杂,但这就是我有时想到它的方式。要在Java中模拟代码的行为,可以尝试以下操作:
public static void main(String[] args) {
Random rand = new Random(1);
System.out.println(String.valueOf(rand.nextInt()));
}