2-мерный массив в Java - PullRequest
       1

2-мерный массив в Java

0 голосов
/ 15 апреля 2011

Я не могу получить правильный вывод в моем двумерном массиве.

Ответ должен быть 1 5 9 2 6 10 3 7 11 4 8 12, и я получаю 1 5 9 2 6 10 3 7 11

int int строка должнабудь таким.

Буду признателен за любую помощь!

Вот мой код:

public class Assign8
{
    public static void main (String args[]){
    int intar[][] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};
    for (int i=0; i<intar.length; i++)
        for (int j=0; j<intar.length; j++)
            System.out.print(" " + intar[j][i]);
    }
}

Ответы [ 3 ]

2 голосов
/ 15 апреля 2011

intar.length будет числом элементов в intar-, в этом случае, числом массивов или количеством элементов в j-м измерении. В i-м измерении вам нужно перебрать intar [j] .length или длину j-го массива.

Это сложно сделать, потому что вы не знаете, что будет с j, в то время как вы итерируете через i. Если вы можете предположить, что все «внутренние» массивы имеют одинаковую длину, вы можете сделать:

for (int i=0; i<intar[0].length; i++){ 
    // rest the same 
}
0 голосов
/ 15 апреля 2011

Так как длина массива равна 3, вы должны изменить свой код следующим образом

для (int i = 0; i для (int j = 0; j System.out.print ("" + intar [i] [j]); }

0 голосов
/ 15 апреля 2011

1001 * попробовать *

for (int i = 0; i < intar.length; i++)
        for (int j = 0; j < intar[i].length; j++)
            System.out.print(" " + intar[i][j]);

Кроме того, лучше использовать индекс i до j (i предшествует j)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...