Re: [问题] 简单的二维阵列转一维阵列

楼主: Dnight (暗夜)   2015-06-15 22:16:49
你的问题让我觉得你可能对二维阵列里面是什么东西有误会
或着你不懂for each在做什么
所以我直接把你原来的阵列做点处理看看对你有没有帮助
首先你先去跑这段程式码
public static void main(String[] args) {
int[][]a={{1,4,7,10},
{2,5,8,11},
{3,6,9,12}};
System.out.println("a.length="+a.length);
for(int i=0;i<a.length;i++){
System.out.println("a["+i+"].length="+a[i].length);
for(int j=0;j<a[i].length;j++){
System.out.println("a["+i+"]["+j+"]="+a[i][j]);
}
}
}
你会看到如下的结果
a.length=3
a[0].length=4
a[0][0]=1
a[0][1]=4
a[0][2]=7
a[0][3]=10
a[1].length=4
a[1][0]=2
a[1][1]=5
a[1][2]=8
a[1][3]=11
a[2].length=4
a[2][0]=3
a[2][1]=6
a[2][2]=9
a[2][3]=12
第一行你可以知道a里面是一个阵列长度是3
表示有a[0],a[1],a[2]三个元素
而这三个元素分别都是一个长度为4的int阵列(a[i].length)
而你原来for each的b分别是a[0],a[1],a[2]这三个元素
所以b[0]表示的是a[0][0],a[1][0],a[2][0]
先讲到这你再想一下看看有没有懂了
作者: junk (复)   2015-06-15 23:13:00
感谢D大回答,后面这段解释非常清楚!!谢谢^^

Links booklink

Contact Us: admin [ a t ] ucptt.com