2017-04-18 96 views
0

我现在正在学习二维阵列,有一部分二维阵列我不太明白。我会显示我的代码并解释我不明白的部分。二维阵列行列长度

我的代码:

public static void main(String[] args){ 
    int[][]array={{1,2,3},{1,2,3},{1,2,3}}; 
} 
public static printArray(int[][]a){ 
    for(int row=0;row<a.length;row++){ 
     for(int column=0;column<a[row].length;column++) 
} 

我的问题是用于printArray第二种方法。在第二个循环中,column<a[row].length是什么意思?

+1

这是1行{1,2,3}的长度。你的例子不是很好解释这一点,因为一切都有3的长度。 – Philippe

回答

1

该行给出了每行的大小
你知道

  • 一个[0] = {1,2,3}
  • 一个[1] = {1,2,3}
  • 一个[2] = {1,2 ,3}

所以,一个[0] =。长度A [1]。长度= A [2]。长度= 3,使用的,这是确保我们不去外出时的阵列边界

0

Java没有2D数组。 Java有阵列数组。第二个循环使用第<列[行] .length来确保您不会迭代超过第th行数组的长度。你需要这个来处理不同长度的嵌套数组。

0

即检查到达的每行的限制时,为了避免一个ArrayIndexOutOfBoundsException

0

2D阵列的条件意味着该数组的每个元素本身是一个数组。第二个循环允许你遍历每个{1,2,3}数组(在你的情况下)。但要做到这一点,你需要每个数组的长度。这是.length所提供的。