首页 > 解决方案 > 为什么第二个代码在我尝试将元素插入二维数组时不起作用?

问题描述

二维数组的问题。

当我尝试在数组中插入元素时,此代码有效,但其他代码(在此下方)无效。

`int [][] array = {  {1,2,3},   
        {4,5,6},   
        {7,8,9},    
        {0}        
     };
    for(int i = 0; i < array.length; i++) {
   for(int j = 0; j < array[i].length; j++) {
    System.out.print(array[i][j]);
}
   System.out.println(); 
}`

此代码不起作用。

`int [][] arr;      
    array[0][0] = 1;
    array[0][1] = 10;
    array[0][2] = 100;
    array[1][1] = 99;
    array[1][2] = 123;
    array[1][0] = 177;
    array[2][1] = 999;
    array[2][2] = 453;
    array[3][0] = 000;
    array[3][1] = 1090;
    array[3][2] = 1202;`

    for(int x = 0; x < arr.length; x++) {
        for(int y = 0; y < arr[x].length; y++) {
            System.out.print(arr[x][y]);
        }
        System.out.println();
    }

这是我得到的错误:

线程“main” java.lang.Error 中的异常:未解决的编译问题:局部变量 arr 可能尚未初始化 局部变量 arr 可能尚未初始化 局部变量 arr 可能尚未初始化

标签: javamultidimensional-array

解决方案


两个问题。您命名了该数组arr(不是array),并且在声明时没有调整它的大小。喜欢,

int [][] array = new int[4][3];      
array[0][0] = 1;
array[0][1] = 10;
array[0][2] = 100;
array[1][1] = 99;
array[1][2] = 123;
array[1][0] = 177;
array[2][1] = 999;
array[2][2] = 453;
array[3][0] = 000;
array[3][1] = 1090;
array[3][2] = 1202;

for(int x = 0; x < array.length; x++) {
    for(int y = 0; y < array[x].length; y++) {
        System.out.print(array[x][y]);
    }
    System.out.println();
}

推荐阅读