Как искать числа в 2-х мерном массиве и исключать некоторые? - PullRequest
1 голос
/ 03 октября 2019

У меня есть двумерный массив, который заполнен случайными числами [0,3), исключая основную диагональ, равную 0. Это спортивная таблица, где 0 - ПОТЕРЯ, 1 - ВЫБРАТЬ, 2 - ВЫИГРАТЬ. Кроме того, если a [1] [2] = 0, то a [2] [1] = 2. Я ve done that. The task is to output number of team without losses(number of a column). How to do that? I tried .contains(), only works for Strings. It also has to exclude main diagonal with 0s. I сделал это:

public static void getFlawless(int[][] a, byte n) {
    byte i = 0;
    short sum;
    for (byte j = 0; j < n; j++) {
        sum = 0;
        i = 0;
        while (i < n) {
            if (a[j][i] == 0) {
                sum++;
                i++;
            } else {
                i++;
            }
        }
        if (sum < 2) {
            System.out.println("Team " + (j + 1) + " is flawless.");
            sum = 0;
        }
    }
}

1 Ответ

0 голосов
/ 03 октября 2019

Из того, что я понял о вашей проблеме, возможно, это то, чего вы хотите достичь:

public static void getFlawless(int[][] a, byte n) {
    int j = 0;

    for (int i = 0; i < n; i++) {
        while (j < n) {
            if (i == j) { j++; continue; }
            if (a[i][j++] != 2) { break; }
        }

        if (j == n) {
            System.out.println("Team " + (i+1) + " " + "is flawless!");
        }

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