返回布尔值

时间:2018-11-19 20:17:37

标签: java

我必须编写这样的程序: 1.两个二维数组  具有相同的尺寸m×n,  2.满足条件iij = 0的aij = bij。 。 。 ,m和j = 0 ,。 。 。 ,n 仅当同时满足以上两个条件时,该方法才以逻辑值true的形式返回结果。 “返回结果”是什么意思?这意味着它会显示在屏幕上吗?我写了这样的东西:

static boolean isEqual(int[][] a, int[][] b) {
    int ia = 0;`
    int ib = 0;
    int ja = 0;
    int jb = 0;
    boolean equal=true;
    for (int i = 0; i < a.length; i++) {
        for (int j = 0; j < a[i].length; j++) {

            ia++;
        }
        ja++;
    }

    for (int i = 0; i < b.length; i++) {
        for (int j = 0; j < b[i].length; j++) {

            ib++;
        }
        jb++;
    }
    if (ia == ib && ja == jb) {
        for (int i = 0; i < b.length; i++) {
            for (int j = 0; j < b[i].length; j++) {
                if (a[i][j] != b[i][j]) {
                    equal= false;
                } 
            }
        }

    } else {
        equal= false;
    }
    return equal;


}

}

1 个答案:

答案 0 :(得分:0)

您的代码不需要iaibjajb。由于已经告知您两个数组的尺寸相同(m×n),因此您可以简单地使用int m = a.length; int n = a[0].length;

来获得这两个值。

然后将您的代码简化为:

static boolean isEqual(int[][] a, int[][] b) {
    int m = a.length;
    int n = a[0].length;
    for (int i = 0; i < m; i++)
        for (int j = 0; j < n; j++)
            if (a[i][j] != b[i][j])
                return false;
    return true;
}