You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何检测int类型二维数组中所有行的长度是否一致

二维数组行长度一致性检测解答

Java中的二维数组本质是数组的数组,每一行对应的子数组可以独立定义长度,没有强制要求所有行长度一致,因此确实需要通过遍历完成一致性校验。

现有代码的正确性

你写的校验逻辑本身是正确的,仅存在一处语法细节问题:return false语句末尾缺少Java语法要求的分号,修正后固定校验9列的可运行代码如下:

int[][] a = {{5,3,4,6,7,8,9,1,2},
             {6,7,2,1,9,5,3,4,8},
             {1,9,8,3,4,2,5,6,7},
             {8,5,9,7,6,1,4,2,3},
             {4,2,6,8,5,3,7,9,1},
             {7,1,3,9,2,4,8,5,6},
             {9,6,1,5,3,7,2,8,4},
             {2,8,7,4,1,9,6,3,5}};
for (int k = 0; k < a.length; k++) {
    if (a[k].length != 9) return false;
}

通用动态校验方案

如果需要适配任意大小的矩阵校验,不想硬编码预期列数,可以取第一行的长度作为基准,后续所有行都和该基准对比即可,示例代码如下:

public static boolean checkMatrixRowLengthConsistent(int[][] matrix) {
    // 空数组/空矩阵的合法性可根据业务需求调整返回值
    if (matrix == null || matrix.length == 0) {
        return true;
    }
    int standardColLength = matrix[0].length;
    for (int[] row : matrix) {
        if (row.length != standardColLength) {
            return false;
        }
    }
    return true;
}

异常场景适配

你提到的「4×4矩阵最后一行仅包含3个值」的场景,上述方案会自动识别:取第一行长度4作为基准,遍历到最后一行时检测到长度为3,和基准值不匹配,直接返回false完成异常检测。

内容的提问来源于stack exchange,提问作者Dave Twickenham

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 18:54:02