0

I need to write code that checks if the matrix is first Folded or not. Here's an example:

example

This is the code I wrote until now but I have an error.

public class test {
public static void main(String[] args) {

    int[][] mat = { { 9, 2, 4 }, { 2, 9, 7 }, { 4, 7, 9 } };

    boolean flag = true;
    int stop = 0;

    for (int i = 0; i < mat.length; i++) {
        for (int j = 0; j < mat.length; j++) {
            System.out.print("[" + mat[i][j] + "]");
        }
        System.out.println();
    }
    for (int i = 0; i < mat.length; i++) {
        for (int j = 0; j < mat.length; j++) {
            if (i == j) {
                j++;
                if (i == mat.length - 1 && j == mat.length - 1) {
                    break;
                }
            }
            if (i != j && mat[i][j] == mat[j][i]) {
                flag = true;

            } else {
                flag = false;
                if (flag == false) {
                    stop = 1;
                    i = mat.length - 1;
                }
            }
        }

    }

    if (stop == 1) {
        System.out.println("Not first folded matrix");
    } else {
        System.out.println("First folded matrix");
    }

}
}

the error is:

[9][2][4]
[2][9][7]
[4][7][9]
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
at test.main(test.java:34)

How do we solve the problem? Is the code all right or not doing the test correctly?

thank you

0 Answers0