日期:2014-05-20  浏览次数:20730 次

菜鸟提问:关于多维数组
public static void main(String args[])
  {
  int i,j,k,sum=0;
int A[][][]={{ {5,1},{6,7} },{ {9,4},{8,3} }};
 
for(i=0;i<A.length;i++)
{
for(j=0;j<A[i].length;j++)
{
for(k=0;k<A[j].length;k++)
{
System.out.print("A["+i+"]["+j+"]["+k+"]");
System.out.println(A[i][j][k]);
sum+=A[i][j][k];

}
 
}
 

 
System.out.println("sum="+sum);
  }



 我的问题是: for(k=0;k<A[j].length;k++)
  这里 A[j].length 与 A[i][j].length 效果一样,为什么?

这里应该如何理解 A[j] 里面的这个 A ??

是代表了A[i] 吗? 如果是这样,那么 A[i][j] 呢?

------解决方案--------------------
三维数组转换成X,Y,Z坐标能否好理解些。
------解决方案--------------------
你那是凑巧。。。
A[j].length比如A[0].length就相当于{ {5,1},{6,7} }的length,因为有{5,1}和{6,7}两元素,所以为2

A[i][j].length比如A[0][0].length就相当于{5,1}的length,因为有5和1两元素,所以也为2

总之,A[j].length是A数组第一维子数组的长度,A[i][j].length是A数组第二维子数组的长度。。。