Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中具有空限制的数组操作_Java_Arrays - Fatal编程技术网

java中具有空限制的数组操作

java中具有空限制的数组操作,java,arrays,Java,Arrays,有人能帮助我理解这个代码是如何工作的吗 public class strManipulation { public static void main(String[] args) { int a[][] = new int[3][]; a[1] = new int[]{1,2,3}; a[2] = new int[]{4,5}; System.out.print(a[1][1]); } } 它的工作原理和它看起来的

有人能帮助我理解这个代码是如何工作的吗

public class strManipulation {
    public static void main(String[] args) {
        int a[][] = new int[3][];
        a[1] = new int[]{1,2,3};
        a[2] = new int[]{4,5};
        System.out.print(a[1][1]);
    }
}

它的工作原理和它看起来的一样
a
是类型
int[][]
(一个由
int
数组组成的数组),并被分配给一个由3个null
int[]
组成的新数组。然后
a[1]
a
中的第二个
int[]
)被分配给包含一些初始数据的3个
int
的新数组。然后打印
a
中第二个
int[]
的第二个
int


有关数组的官方语言教程,请参见。

您可以这样打印结果:

public class StrManipulation {

    public static void main(String[] args) {
        int a[][] = new int[3][];
        a[1] = new int[]{1,2,3};
        a[2] = new int[]{4,5};
        for (int m = 0; m < a.length; m++) {
            for (int n = 0; a[m] != null && n < a[m].length; n++) {
                System.out.println("Row:" + m + "; Column:" + n + "; Value:" + a[m][n]);
            }
        }
    }
}
说明:

1-创建二维数组,并指定有3行

2-保留第一行(索引=0)未定义

3-用3个数字填充第二行(索引=1),即1、2、3


4-用2个数字填充第三行(索引=2),即4,5。

将其作为以下二维矩阵

     |  0      1      2
_____|_____________________
     |
  0  | <------NULL----->
     |
  1  |  1      2      3
     |
  2  |  4      5
     |
| 0 1 2
_____|_____________________
|
0  | 
|
1  |  1      2      3
|
2  |  4      5
|

你应该可以在这里的某个地方找到答案:+1,因为
它的工作原理与它的工作原理一模一样。
我不相信
a[m]!=null
是必需的。@PM 77-1,我之所以保留它,是因为它将引发null指针异常,因为第一行未初始化(行=0),您可以自己确认:-)是的,我错了。我错误地认为只有0长度才能解决这个问题。user2207839-->这就是你问题的答案!简单和直观的帮助。
     |  0      1      2
_____|_____________________
     |
  0  | <------NULL----->
     |
  1  |  1      2      3
     |
  2  |  4      5
     |