java code:
public class ArrayTest {
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  int[][] a = {{1,2},{3},{4,5}};
  for (int i = 0; i < a.length; i++) {
   for (int j = 0; j < a[i].length; j++) {
    System.out.print(a[i][j]+" ");
   }
   System.out.println();
  }
  System.out.println("--------------");
  System.out.println("a'length' ->: "+a.length);
 }

ouput:
1 2 

4 5 
--------------
a'length' ->: 3
请问:
这里的a.length表示的“数组的行数”是什么意思哈,怎么长度在这里是3?都变成行数了,对其概念有点模糊了···

解决方案 »

  1.   

    a 是 two-dimontion array, 你上面的array可以分解成下面这样
    a[0][0] = 1
    a[0][1] = 2
    a[1][0] = 3
    a[1][1] = null
    a[2][0] = 4
    a[2][1] = 5
      

  2.   

    数组如同你有3个柜子(a),每个柜子有2个抽屉(b)来放东西a.length 等于问你多少个柜子
      

  3.   

    楼主,你看哈不等于3 你觉得等于几
    你自己看哈你System.out.println("a'length' ->: "+a.length);没有在你的循环内部
    必须输出3
      

  4.   

    你是想要什么样的结果呢 System.out.println("a'length' ->: "+a.length);时 分别是1 2 3行吗
    a.length在你这个程序里是创建时就被确定了int[][] a = {{1,2},{3},{4,5}}; 所以就是3
    a一共是3行 每行都是一个int[][]元素
      

  5.   

    我不是想要什么样的结果,我是对“a.length”的含义不太懂,是不是像二楼说的:
    有数组1,数组1中有数组2(即数组的数组),这里的 a.length 就是所说的 数组1 的长度。
      

  6.   


    数组a里面有三个元素,每个元素里面又都有一个数组。
    a.length = 3
    a[0].length = 2
    a[1].length = 1
    a[2].length = 2