当前位置: 代码迷 >> J2SE >> 初学者提问:关于多维数组
  详细解决方案

初学者提问:关于多维数组

热度:4691   发布时间:2013-02-25 00:00:00.0
菜鸟提问:关于多维数组
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数组第二维子数组的长度。。。
  相关解决方案