Java 返回布尔值
我必须写这样一个程序: 1.2二维阵列 具有相同的尺寸m×n, 2.对于i=0,…,满足aij=bij的条件,m和j=0,N 只有同时满足上述两个条件时,该方法才会以逻辑值true的形式返回结果。 返回结果是什么意思?这意味着它会显示在屏幕上?我写了这样的东西: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
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);