2014-01-08 41 views
-1

所以,我有這樣的追加到雙陣列方法

public String[][] getArgs(){ 

的方法和,我希望它得到的結果出來的for循環:

for(int i = 0; i < length; i++){ 

但是我怎麼追加他們到陣列而不是僅僅return他們?

+0

你可能需要2個循環 –

+2

你不能「追加」到一個數組;你只能分配它並填充它。 –

+1

你實際上並沒有顯示你要放入數組中......這對處理上下文會有所幫助。 – Makoto

回答

2

在你的方法內部創建一個String[][]數組,將該數組填充到循環中(或以任何其他方式)並最終返回該數組。

如果您確定只需要一個for循環(而不是2個,通常用於2維陣列),請確保您的循環將遍歷與您的String[][]陣列中的字段數相等的示例數。然後,你可以從你的單環迭代計算的雙維數組的索引,例如:

for(int i = 0; i < length; i++){ 
    int a = i % numberOfCollumnsInOutput; 
    int b = i/numberOfCollumnsInOutput; 
    String[a][b] = sourceForYourData[i]; 
} 

(當然你把它陣列尺寸爲collumns(並且是行)只取決於你自己。)然而,它是更典型的用正嵌套循環通過n維數組中去,這樣的(例如,對於二維數組,像一個要輸出):

for(int i = 0; i < dimensionOne; i++){ 
    for(int j = 0; j < dimensionTwo; j++){ 
     array[i][j] = someData; 
    } 
} 
0

,您可以撥打LinkedList,然後將元素附加到它,然後從中創建一個新的數組。如果你不確定我會發布一些代碼。

1

爲了您的利益。根據Byakuya的示例代碼。

public String[][] getArgs(){ 

    int row = 3; 
    int column =4; 

    String [][] args = new String[row][column];  

    for(int i=0;i<row;i++) 
     for(int j=0;j<column;j++) 
      args[i][j] = "*"; 

    return args; 
} 
+0

@MikeSamuel對於錯誤感到抱歉,括號不應該在那裏。 – Kenma