Java随机-始终打印1
我遇到一个代码片段,它使用Java随机-始终打印1,java,random,Java,Random,我遇到一个代码片段,它使用Random获得10个整数。但是Random不返回随机数,而是始终返回1 代码: public static void main(String[] args) { Random random = new Random(441287210); for (int i = 0; i < 10; i++) System.out.print(random.nextInt(10) + " "); } publicstaticvoidmain
Random
获得10个整数。但是Random
不返回随机数,而是始终返回1
代码:
public static void main(String[] args) {
Random random = new Random(441287210);
for (int i = 0; i < 10; i++)
System.out.print(random.nextInt(10) + " ");
}
publicstaticvoidmain(字符串[]args){
随机数=新随机数(441287210);
对于(int i=0;i<10;i++)
System.out.print(random.nextInt(10)+”);
}
我找不到对此的解释。有人能帮助理解这种行为吗?不一定。给定441287210作为种子,接下来的10个0到10之间的随机数恰好都是1
Random random = new Random(441287210);
for (int i = 0; i < 100; i++) {
System.out.print(random.nextInt(10) + " ");
}
不总是这样。给定441287210作为种子,接下来的10个0到10之间的随机数恰好都是1
Random random = new Random(441287210);
for (int i = 0; i < 100; i++) {
System.out.print(random.nextInt(10) + " ");
}
准确地说,类Random实际上来自哪里?它返回一组psudo随机数,这些随机数基于您给出的see。你只是碰巧选了一个种子,其中出现了一堆1。@Jägermeister它只是java.util.Random为什么不在日历的
getTime()
方法中对它进行种子设定?准确地说,类Random实际上来自哪里?它根据你给出的see返回一堆psudo随机数。你只是碰巧在一堆1出现的地方选择了一个种子。@Jägermeister它只是java.util.random为什么不在日历的getTime()
方法中对它进行种子设定呢?“甚至可能有一个种子,使用它你会得到100倍的1,谁知道呢?”这将是一个糟糕的随机数生成器,因为10倍100(1乘10次方100大概就是概率),远高于远距离。当10次方10在射程内时!@AlexWien你是对的,放弃了这一点“甚至可能有一个种子,使用它你会得到100倍1s,谁知道呢?”这将是一个糟糕的随机数生成器,因为10次方100(1乘10次方100应该是大概的概率),远高于远程。当10次方10在范围内时!@AlexWien你说得对,放弃了那一点