Zwracanie wartości logicznej jako rezultat metody

0

Utwórz metodę jestRowna sprawdzającą czy dostarczone jako argumenty
dwie dwuwymiarowe tablice
• mają takie same wymiary m × n,
• spełniają warunek że aij = bij dla i = 0, . . . , m i j = 0, . . . , n
Metoda zwróci rezultat w postaci wartości logicznej true tylko gdy oba powyższe są
spełnione jednocześnie.

Czy dobrze zrozumiałem warunki polecenia?

public class Main {

    public static void main(String[] args) {
  
        int[][] tab1 = {{1, 2, 3}, {3, 3, 1}};
        int[][] tab2 = {{1, 2, 3}, {3, 3, 1}};

        boolean rezultat = jestRowna(tab1, tab2);
        System.out.println(rezultat);

       
            }

    static boolean jestRowna(int[][] a, int[][] b) {

        int wa = a.length;
        int ka = a[0].length;
        int wb = b.length;
        int kb = b[0].length;

        boolean rowne = true;

        if (wa == wb && ka == kb) {
            for (int i = 0; i < b.length; i++) {
                for (int j = 0; j < b[i].length; j++) {
                    if (a[i][j] != b[i][j]) {
                        rowne = false;
                    }
                }
            }

        } else {
            rowne = false;
        }
        return rowne;
    }
}
0

Przetestowales? Dziala, jest bug?

0

Zrozumiałeś dobrze, i prawie jest "dobrze", sprawdź tylko czy:
dla tab1 = {{1, 2, 3}, {1, 2, 3}} i tab2 = {{1, 2, 3}, {1, 2}} zwróci false, bo wydaje mi się, że będzie true.
No i co się stanie jeśli tab1 będzie argumentem b a tab2 to a.

1 użytkowników online, w tym zalogowanych: 0, gości: 1