import java.util.*;
public class ArrayClass {
public static void main(String[] args){
Random Rand=new Random(47);
Integer[] a=new Integer[Rand.nextInt(20)];
System.out.println("The length of a="+a.length);
for(int i=0;i<a.length;i++)
a[i]=Rand.nextInt(500);
System.out.println(Arrays.toString(a));
}
}
在这里为什么The length of a=18?如果把 Random Rand=new Random(47)换成 Random Rand=new Random(40),那么The length of a=2。请问一下大家这是怎么回事?
public class ArrayClass {
public static void main(String[] args){
Random Rand=new Random(47);
Integer[] a=new Integer[Rand.nextInt(20)];
System.out.println("The length of a="+a.length);
for(int i=0;i<a.length;i++)
a[i]=Rand.nextInt(500);
System.out.println(Arrays.toString(a));
}
}
在这里为什么The length of a=18?如果把 Random Rand=new Random(47)换成 Random Rand=new Random(40),那么The length of a=2。请问一下大家这是怎么回事?
数组大小是随机生成的
和47没什么联系吧!
输出结果
The length of a=18
55
193
361
461
429
368
200
22
207
288
128
51
89
[55, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null]
[55, 193, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null]
[55, 193, 361, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null]
[55, 193, 361, 461, null, null, null, null, null, null, null, null, null, null, null, null, null, null]
[55, 193, 361, 461, 429, null, null, null, null, null, null, null, null, null, null, null, null, null]
[55, 193, 361, 461, 429, 368, null, null, null, null, null, null, null, null, null, null, null, null]
[55, 193, 361, 461, 429, 368, 200, null, null, null, null, null, null, null, null, null, null, null]
[55, 193, 361, 461, 429, 368, 200, 22, null, null, null, null, null, null, null, null, null, null]
[55, 193, 361, 461, 429, 368, 200, 22, 207, null, null, null, null, null, null, null, null, null]
[55, 193, 361, 461, 429, 368, 200, 22, 207, 288, null, null, null, null, null, null, null, null]
[55, 193, 361, 461, 429, 368, 200, 22, 207, 288, 128, null, null, null, null, null, null, null]
[55, 193, 361, 461, 429, 368, 200, 22, 207, 288, 128, 51, null, null, null, null, null, null]
[55, 193, 361, 461, 429, 368, 200, 22, 207, 288, 128, 51, 89, null, null, null, null, null]
[55, 193, 361, 461, 429, 368, 200, 22, 207, 288, 128, 51, 89, 309, null, null, null, null]
309
[55, 193, 361, 461, 429, 368, 200, 22, 207, 288, 128, 51, 89, 309, 278, null, null, null]
278
498
[55, 193, 361, 461, 429, 368, 200, 22, 207, 288, 128, 51, 89, 309, 278, 498, null, null]
[55, 193, 361, 461, 429, 368, 200, 22, 207, 288, 128, 51, 89, 309, 278, 498, 361, null]
361
[55, 193, 361, 461, 429, 368, 200, 22, 207, 288, 128, 51, 89, 309, 278, 498, 361, 20]
20
随机数研究没有意义
原则上种子的类型是long,范围是0-48之间,但是,通常重写方法可能使用 long 参数的所有 64 位作为种子值。
总之:只要你在Random()的()里面赋了值,每次生成的随机数的个数和值就会是固定的。具体每个值会产生多少“固定”的随机数,LZ有兴趣可以去研究下!