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

如何在二维数组中查找可接收输入的下一个可用行位置

修复二维数组下一个可用行查找方法

原代码存在几个关键问题:

  • if(loanArray.length) 语法错误:int类型的数组长度不能直接作为布尔判断条件
  • 返回值错误:方法声明返回int,但你试图返回loanArray(数组对象),类型完全不匹配
  • 逻辑缺失:没有检查每行是否处于“可用”状态,只是盲目遍历

正确实现思路

要找到可插入数据的下一个可用行,核心是判断每行是否未被填充数据。通常的判断逻辑是:如果该行的第一个元素为null(假设用户输入时会先填充该行的第一个字段),则认为这是可用行;如果所有行的第一个元素都不为null,说明数组已满,返回-1。

修复后的代码

public static int findNextPosition(String[][] loanArray) {
    // 遍历每一行
    for (int index = 0; index < loanArray.length; index++) {
        // 检查当前行是否可用:这里以第一个元素为null作为判断条件
        // 可根据实际需求调整判断逻辑,比如检查所有元素是否为null
        if (loanArray[index][0] == null) {
            return index; // 返回第一个可用行的索引
        }
    }
    return -1; // 所有行都已被占用,返回-1
}

补充说明

如果你的“可用行”定义是整行所有元素都是null,可以修改判断逻辑为:

public static int findNextPosition(String[][] loanArray) {
    for (int index = 0; index < loanArray.length; index++) {
        boolean isRowEmpty = true;
        // 遍历当前行的所有元素,检查是否全为null
        for (String element : loanArray[index]) {
            if (element != null) {
                isRowEmpty = false;
                break;
            }
        }
        if (isRowEmpty) {
            return index;
        }
    }
    return -1;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 05:40:22