我试图用随机数填充数组,但是IDE甚至不能使用单个数组。数组初始化出了点问题。根据Schildt的Java SE 8指南,可以像我一样创建几个数组,但是如果我尝试对其中的任何一个进行操作,则会收到如下所示的错误。
如果仅初始化1个数组,则不会出错。但是,如果我需要使用许多数组,应该如何初始化它们?逐一?我在C ++中还没有遇到过这样的事情。
我知道创建2D数组更好,但是现在我要练习一些1D数组。
P.S:如果您不介意的话,还有一个问题。是否有可能索引这些数组以便稍后在循环内对其进行操作。也许在枚举的帮助下还是什么?
public static void main(String[] args) {
int [] a,b,c,d,e,f,g,h,i = new int[4];
//int a[],b[],c[],d[],e[],f[],g[],h[],i[] = new int[4]; - this doesn't work either
Random random = new Random();
for (int y=0; y<4; y++) {
a[y] = random.nextInt(9); //The local variable a may not have been initialized
System.out.print(a[y] + " "); //The local variable a may not have been initialized
}
}
答案 0 :(得分:1)
好吧,如果您有固定数量的“ length 4 int arrays”,则可以创建一个2D数组,而不是多个长度为4的1D数组。 看起来像这样:
int[][] a = new int[9][4]
//here 9 is the ammount of arrays you tried to create above, and 4 is the initial length
答案 1 :(得分:0)
如果您写类似
int a, b = 5;
只有b会被初始化。
但是您可以做的是
int a, b;
a = b = 5;
并且两者将使用相同的值初始化。现在,当您对数组执行相同操作时,
int[] a, b;
a = b = new int[4];
实际上,它们实际上指向同一实例/引用,这毫无意义。