如何在二维数组中查找可接收输入的下一个可用行位置
修复二维数组下一个可用行查找方法
原代码存在几个关键问题:
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
相关产品推荐
相关产品推荐

