Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java随机种子_Java_Testing_Random_Seed_Prng - Fatal编程技术网

Java随机种子

Java随机种子,java,testing,random,seed,prng,Java,Testing,Random,Seed,Prng,我需要测试一个Java程序20次,并且需要设置随机种子,以便可以重复测试。如果我将初始种子设置为0,然后在每次运行时增加1(即1、2、3等),即使种子相距不远,该方法是否仍能确保完全随机性 谢谢为什么不把现在的时间当作种子呢?例如,System.currentTimeMillis()?您需要数字还是字符串?当我需要字符串时,我通常会为我的测试获取UUID,但是如果你需要一个数字,那么你可以使用System.nanoTime()任何种子都将为Java附带的标准提供与任何其他种子相同的随机性级别。因

我需要测试一个Java程序20次,并且需要设置随机种子,以便可以重复测试。如果我将初始种子设置为0,然后在每次运行时增加1(即1、2、3等),即使种子相距不远,该方法是否仍能确保完全随机性


谢谢

为什么不把现在的时间当作种子呢?例如,
System.currentTimeMillis()

您需要数字还是字符串?当我需要字符串时,我通常会为我的测试获取UUID,但是如果你需要一个数字,那么你可以使用
System.nanoTime()

任何种子都将为Java附带的标准提供与任何其他种子相同的随机性级别。因此,在测试中使用递增种子是可以的


<>你可能想考虑使用更好的随机数生成器。如果将值呈现为图像,Java附带的一个会产生明显的重复模式(我无法立即找到引用,但我记得它很明显)。我推荐(有Java)作为一种替代方案,它速度快,周期长,所以你不容易看到模式。

如果你使用0的种子,那么从那一点开始随机数序列就可以重复。如果需要不同的序列,则只需要使用不同的随机种子。i、 e.您应该能够在每次测试中设置一次种子。

或者生成的随机数是否彼此接近/相似?每次运行测试时都相同的随机种子?为什么要麻烦称它为随机的,它只是一个种子。因为我需要重复测试,请让我重新表述我的答案。如果需要使用相同的随机数序列重复测试20次,则需要使用相同的种子。否则,可以使用当前时间作为种子。也许我没有正确理解你的问题?没问题。我更新了关于如何获得更好的随机性的答案,如果你关心它的话。无论哪种方法,您都可以在测试中使用递增种子,或者甚至可以使用一系列随机数(从固定种子生成)作为每次迭代的种子:)