Java 返回布尔值

Java 返回布尔值,java,Java,我必须写这样一个程序: 1.2二维阵列 具有相同的尺寸m×n, 2.对于i=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; bo

我必须写这样一个程序: 1.2二维阵列 具有相同的尺寸m×n, 2.对于i=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;


}
静态布尔相等(int[]a,int[]b){
intia=0`
int-ib=0;
int-ja=0;
int jb=0;
布尔等于真;
for(int i=0;i

}您的代码不需要
ia
ib
ja
jb
。由于您被告知两个数组具有相同的维度(m×n),因此可以使用
int m=a.length;int n=a[0]。长度

然后将代码简化为:

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;
}
静态布尔相等(int[]a,int[]b){
int m=a.长度;
int n=a[0]。长度;
for(int i=0;i
“返回结果”意味着它使用
return
语句使方法将值返回给调用代码。这里使用的是
return
语句;您只是没有返回正确的值(因为您对
ia
ib
的计算不正确)。它们怎么不正确?您是否希望它们检查数组的行数和列数是否相同?如果是这样,
ia
ib
都不算在内。尝试在调试器中查看它们的值(或只是将它们打印出来)。顺便说一句,您不需要内部循环来计算您在这里计算的内容:
ib+=b[i].length也一样,速度更快。首先是ai,aj等。它可以工作,其次感谢你的提示,我可以做得更快。公共类Main{public static void Main(String[]args){int[]tab1={{1,2,3},{3,3,1};int[]tab2={{1,2,2},{3,3,3};boolean res=isEqual(tab1,tab2);System.out.println(res);