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