Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何正确检查两个锯齿状阵列的大小是否相同?_Java_Arrays - Fatal编程技术网

Java 如何正确检查两个锯齿状阵列的大小是否相同?

Java 如何正确检查两个锯齿状阵列的大小是否相同?,java,arrays,Java,Arrays,我在检查两个锯齿状java数组是否大小相同时遇到问题。我的函数没有返回正确的结果。我正在处理的硬件问题表明,如果两个数组都为null或大小相同,则函数应返回true;如果数组中只有一个为null或大小不同,则函数应返回false 我尝试执行代码以查看返回的布尔值,但是控制台没有输出任何内容 static boolean arraySameSize(int[][] one, int[][] two) { boolean value = false; if (one == n

我在检查两个锯齿状java数组是否大小相同时遇到问题。我的函数没有返回正确的结果。我正在处理的硬件问题表明,如果两个数组都为null或大小相同,则函数应返回true;如果数组中只有一个为null或大小不同,则函数应返回false

我尝试执行代码以查看返回的布尔值,但是控制台没有输出任何内容

static boolean arraySameSize(int[][] one, int[][] two) {    
    boolean value = false;
    if (one == null && two == null) {
        value = true;
    } else if ((one == null && two != null) || (two == null && one != null)) {
        value =  false;
    } else {
        int count = 0;
        int count2 = 0;
        for (int i = 0; i < one.length; i++) {
            for (int j = 0; j < one[i].length; j++) {
                count++;
            }
        }
        for (int i = 0; i < two.length; i++) {
            for (int j = 0; j < two[i].length; j++) {
                count2++;
            }
        }
        if (count == count2) {
            value = true;
        } else {
            value = false;
        }
    } 
    return value;
}
static boolean arraySameSize(int[]one,int[]two){
布尔值=假;
if(一==null&&two==null){
值=真;
}else如果((一==null&&two!=null)| |(二==null&&two!=null)){
值=假;
}否则{
整数计数=0;
int count2=0;
for(int i=0;i<1.length;i++){
对于(int j=0;j<1[i]。长度;j++){
计数++;
}
}
for(int i=0;i<2.length;i++){
对于(int j=0;j
如果两个数组都为null或大小相同,我希望输出为true,否则为false。我从自动平地机收到一个错误,说明如下:

java.lang.AssertionError:结果不正确:预期为[false],但找到[true]

我应该调整什么以确保返回值时该值具有正确的值?

试试这个

static boolean arraySameSize(int[][] one, int[][] two) {
    if (one == null && two == null) return true;
    if (one == null || two == null) return false;
    if (one.length != two.length) return false;
    for (int i = 0, size = one.length; i < size; ++i) {
        int[] oneRow = one[i];
        int[] twoRow = two[i];
        if (oneRow == null && twoRow == null) continue;
        if (oneRow == null || twoRow == null) return false;
        if (oneRow.length != twoRow.length) return false;
    }
    return true;
}
static boolean arraySameSize(int[]one,int[]two){
if(one==null&&two==null)返回true;
如果(一==null | |二==null)返回false;
如果(1.length!=2.length)返回false;
对于(int i=0,size=1.length;i
应该
[[1]、[2,3]]
[[1,2]、[3]]]
返回true吗?。如果不是,请尝试比较每个子阵列长度,而不是计算所有元素。