2013-10-28 37 views
1

我現在有一個二維數組看起來相當於:如何打印不同索引長度的二維數組?

int[] my2Darray = {{1, 2}, {3, 4, 5}, {1}}; 
//the second dimensions can and do vary 

我想知道我怎麼能自動打印該數組的所有元素。

我的代碼打印目前的樣子:

for(int t = 0; t < movieactorsbulk.size(); t++) { 
     temparray = movieactorsbulk.get(t).split("\\s"); 
     movieactorsindiv[t] = new String[temparray.length]; 
     for(int v = 0; v < temparray.length; v++) { 
      movieactorsindiv[t][v] = temparray[v]; 
     } 
    } 

movieactorsbulk包括:[a00011974 a00011975,a00011975 a00011974,a77777777]

所以我試圖到ArrayList movieactorsbulk的指標分開),並把它變成一個二維數組(movieactorsindiv),然後打印一切,無論大小。

現在我知道我的問題是,最後一次圍繞代碼拆分「a77777777」並將其放入movieactorsindiv [2] [0]中,但是當我嘗試基於temparray.length打印時,它僅打印第一個作爲temparray []的索引僅包含當時的「a77777777」。我如何打印movieactorsindiv([0] [0]到[x] [y];其中x和y可以是任何數字)的所有索引?

任何幫助,將不勝感激。對不起,如果這個問題不容易理解。 :S

回答

2

嘗試使用遍歷這個骨架:

for (int i = 0; i < matrix.length; i++) { 
    for (int j = 0; j < matrix[i].length; j++) { 
     // print matrix[i][j] 
    } 
} 

它考慮其中每一行的列可以是不同長度的情況下。它適用於任何高度和寬度(甚至不同寬度)的2D矩陣,並且特別適合您的問題很容易。

+1

非常感謝您的幫助。你提出的建議對我來說比我想要做的更有意義。 :) –

+0

@SomeoneSomeone我很高興聽到!如果此答案對您有所幫助,請點擊左側的複選標記以考慮[接受](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) ;) –