2014-01-08 51 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