[問題] 簡單的二維陣列轉一維陣列

作者: junk (復)   2015-06-15 21:24:44
各位版友好,想請教二維陣列轉一維陣列的問題
int[][]a={{1,4,7,10},
{2,5,8,11},
{3,6,9,12}};
System.out.println(a.length); //a.length =3
for(int[] b:a)
{
System.out.println(b[0]); //會印出1,2,3
System.out.println(b.length); //b.length = 4
}
讓我有點混淆的是使用for-each迴圈由二維轉一維陣列後
1.陣列長度由3變到4?
2.另外就是b[0]印出的結果為1,2,3?
以陣列傳遞來看,應該是以列為單位傳遞,為何不是{1,4,7,10}?
是二維轉一維造成翻轉?
一點點疑問,先謝謝大家~~
作者: Dnight (暗夜)   2015-06-15 21:56:00
我覺得你是不是對二維陣列理解錯誤阿...
作者: aznchat100 (aznchat100)   2015-06-15 21:57:00
a.length應該等於3吧?
作者: junk (復)   2015-06-15 23:06:00
呃...我打反了,a.length是3,b.length是4我修正了@@
作者: cha122977 (CHA)   2015-06-16 09:34:00
a內有三個成員{1,4,7,10} {2,5,8,11} {3,6,9,12}b.length是4非常合理b在三次迴圈中分別是{1,4,7,10} {2,5,8,11} {3,6,9,12}所以三次迴圈中的b[0]分別是 1, 2, 3

Links booklink

Contact Us: admin [ a t ] ucptt.com