作者junk (復)
看板java
標題[問題] 簡單的二維陣列轉一維陣列
時間Mon Jun 15 21:24:44 2015
各位版友好,想請教二維陣列轉一維陣列的問題
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}?
是二維轉一維造成翻轉?
一點點疑問,先謝謝大家~~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.34.221.205
※ 文章網址: https://www.ptt.cc/bbs/java/M.1434374687.A.290.html
推 Dnight: 我覺得你是不是對二維陣列理解錯誤阿...06/15 21:56
推 aznchat100: a.length應該等於3吧?06/15 21:57
→ junk: 呃...我打反了,a.length是3,b.length是406/15 23:06
※ 編輯: junk (117.19.128.196), 06/15/2015 23:07:30
→ junk: 我修正了@@ 06/15 23:07
→ cha122977: a內有三個成員{1,4,7,10} {2,5,8,11} {3,6,9,12} 06/16 09:34
→ cha122977: b.length是4非常合理 06/16 09:35
→ cha122977: b在三次迴圈中分別是{1,4,7,10} {2,5,8,11} {3,6,9,12} 06/16 09:35
→ cha122977: 所以三次迴圈中的b[0]分別是 1, 2, 3 06/16 09:36