2014-01-08 7 views
-1

Итак, у меня есть метод, как этотприлагая для метода двойного массива

public String[][] getArgs(){ 

И я хочу, чтобы получить результаты из для цикла:

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

Но как я добавляю их к массиву вместо return их?

+0

Возможно, вам понадобится 2 для циклов –

+2

Вы не можете «добавить» к массиву; вы можете выделить его и заполнить. –

+1

На самом деле вы не показываете, что вы вкладываете в массив ... это поможет немного справиться с контекстом. – Makoto

ответ

2

Создайте массив String[][] внутри вашего метода, заполните этот массив внутри цикла (или любым другим способом) и верните этот массив в конце.

Если вы уверены, что хотите иметь только одну петлю for (вместо двух, типичных для 2-мерного массива), убедитесь, что ваш цикл будет проходить через число примеров, равное количеству полей в вашем массиве String[][]. Тогда можно вычислить двойное измерение индексов массива из вашего одиночного петлевого итератора, например:

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

(конечно какой массив размера вы относитесь, как collumns (и который будут строки) зависит только от себя.) Однако это гораздо более типично, чтобы пройти через п-мерного массива с помощью п вложенных циклов, как это (например, для 2d массива, как и тот, который вы хотите вывести):

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

вы можете сделать LinkedList из этого массива, а затем добавьте к нему элементы, а затем создайте из него новый массив. Если вы не уверены, что я отправлю код.

1

Для вашего интереса. Пример кода по Бякуя.

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

Смежные вопросы