为什么我不能一次初始化多个数组?

我正在尝试用随机数填充数组,但即使使用单个数组,IDE 也拒绝工作。数组初始化有问题。根据 Schildt 的 Java SE 8 指南,可以像我一样创建几个数组,但是如果我尝试对其中的任何一个做一些事情,我会收到如下所示的错误。


如果我只初始化 1 个数组,我不会收到任何错误。但是,如果我需要使用许多数组,我应该如何初始化它们?逐个?我在 C++ 中没有遇到过这样的事情。


我知道创建 2D 数组更好,但我现在有一个练习来处理一些 1D 数组。


PS:如果你不介意,一个额外的问题。是否可以索引这些数组以便稍后在循环中操作它们。也许在枚举或什么的帮助下?


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

        }   

}


BIG阳
浏览 125回答 2
2回答

慕尼黑8549860

好吧,如果您有固定数量的“长度为 4 的 int 数组”,您可以创建一个二维数组,而不是多个长度为 4 的一维数组。这看起来像这样:int[][] a = new int[9][4]&nbsp;//here 9 is the number of arrays you tried to create above, and 4 is the initial length

潇湘沐

如果你写类似int a, b = 5;只有 b 将被初始化。但是,您可以做的是int a, b;a = b = 5;两者都将使用相同的值进行初始化。现在当你对数组做同样的事情时,所以int[] a, b;a = b = new int[4];他们实际上会指向同一个实例/引用,这显然没有任何意义。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java