2D-массив ведет себя странно - PullRequest
0 голосов
/ 14 июля 2020
        int[][] array = new int[3][3];
    for(int i=0; i<array.length; i++){
        for(int j=0; j<array[i].length; j++){
            array[j][i] = j;
            System.out.print(array[i][j]);

        }
        System.out.println();

    }

Привет, я немного сбит с толку, почему вывод приведенного выше кода:

000
110
222

Я ожидал:

000
111
222

Благодарю за любую помощь.

1 Ответ

1 голос
/ 14 июля 2020

Вы назначаете массивы как array[j][i] и печатаете как array[i][j].

Итак, вы назначаете array[2][1] как 2 Но вы печатаете array[1][2], который при этом time 0.

Хотя к концу программы ваш массив будет похож на то, что вы ожидаете. По умолчанию целочисленным массивам присваиваются нули.

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