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

看板java作者 (復)時間10年前 (2015/06/15 21:24), 10年前編輯推噓2(206)
留言8則, 4人參與, 最新討論串1/2 (看更多)
各位版友好,想請教二維陣列轉一維陣列的問題 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

06/15 21:56, , 1F
我覺得你是不是對二維陣列理解錯誤阿...
06/15 21:56, 1F

06/15 21:57, , 2F
a.length應該等於3吧?
06/15 21:57, 2F

06/15 23:06, , 3F
呃...我打反了,a.length是3,b.length是4
06/15 23:06, 3F
※ 編輯: junk (117.19.128.196), 06/15/2015 23:07:30

06/15 23:07, , 4F
我修正了@@
06/15 23:07, 4F

06/16 09:34, , 5F
a內有三個成員{1,4,7,10} {2,5,8,11} {3,6,9,12}
06/16 09:34, 5F

06/16 09:35, , 6F
b.length是4非常合理
06/16 09:35, 6F

06/16 09:35, , 7F
b在三次迴圈中分別是{1,4,7,10} {2,5,8,11} {3,6,9,12}
06/16 09:35, 7F

06/16 09:36, , 8F
所以三次迴圈中的b[0]分別是 1, 2, 3
06/16 09:36, 8F
文章代碼(AID): #1LVj8VAG (java)
文章代碼(AID): #1LVj8VAG (java)