0

我有一个名为 e 的数组,这个数组包含对象,但不是在每个索引上。所以我使用 for 循环来查找数组中包含对象的第一个索引。我通过查找不为空的值来做到这一点。如果我找到它,我将索引保存在一个名为 index 的变量中并跳出循环。如果没有找到没有空值的索引,我想从该方法返回。否则,我想继续并使用包含数组索引的变量索引。

int index;

for (int i = 0; i < e.length; i++) {
    if (e[i] != null) {
        index = i;
        break;
    }
}

// if index did not get any value inside the for-loop, return

// And here I use the index that was found using the for-loop

如何检查变量索引是否从 for 循环中获得了新索引?

谢谢!

4

3 回答 3

7

这是始终初始化变量的原因之一。如果你初始化,你可以用这个值做事(并避免不必要的布尔标志)

int index = -1;

for (int i = 0; i < e.length; i++) {
    if (e[i] != null) {
        index = i;
        break;
    }
}

if (index == -1) return;
于 2013-04-24T15:05:36.110 回答
1

添加一个布尔标志,在循环之前将其初始化为 false,并且仅在 if 块中使用 break 语句将其设置为 true。循环后检查标志的值。

于 2013-04-24T15:05:26.470 回答
0

默认索引为 -1 然后检查它是否 > -1

int index = -1;

for (int i = 0; i < e.length; i++) {
    if (e[i] != null) {
        index = i;
        break;
    }
}

if (index >= 0) {


}
于 2013-04-24T15:07:30.710 回答