Пожалуйста, объясните процесс результату - PullRequest
0 голосов
/ 27 мая 2020
public class Main {

    public static void main(String[] args) {

        int[][] tab = new int[3][3];
        int s1 = 0;
        int s2 = 0;

        tab[0][0]=8;
        tab[0][1]=5;
        tab[0][2]=7;
        tab[1][0]=9;
        tab[1][1]=3;
        tab[1][2]=2;
        tab[2][0]=4;
        tab[2][1]=6;
        tab[2][2]=1;

        for (int i = 0; i < tab.length; i++){
            s1 += tab[i][2];
            s2 += tab[2][i];
        }
        System.out.println(s1 + " " + s2);
    }
}

Кто-нибудь может объяснить, почему результат 10 11?

Как код проходит через этот 2D-массив?

1 Ответ

0 голосов
/ 27 мая 2020

Пожалуйста, попробуйте dry запустить свой код, отладить его построчно.

Вот объяснение, которое вам нужно.

s1 = 0
i=0
s1 += tab[i][2]; 
=> s1 = 0+tab[0][2] 
=> s1 = 0+7
=> s1 = 7

s1 = 7
i=1
s1 += tab[i][2]; 
=> s1 = 7+tab[1][2] 
=> s1 = 7+2
=> s1 = 9

s1 = 9
i=2
s1 += tab[i][2]; 
=> s1 = 9+tab[2][2] 
=> s1 = 9+1
=> s1 = 10

То же самое для s2 (4 + 6 + 1 = 11)

Отсюда s1,s2 => 10,11

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