我目前正在编写一个 for 循环来遍历包含 38 个元素的 2D。然而,其中一些元素为空,我希望 for 循环简单地跳过它们(因为在我正在解决的难题中,它们没有与它们相关的移动)。快速搜索表明,我可以在 for
循环开头的 if
语句中使用简单的 continue
语句来跳过迭代。但是,我想跳过多次迭代,而我编写的 if 语句不起作用:
for (int i = 0; i < triplets.length; i++) {
if (i == 18 || 19 || 25 || 26 || 28 || 29 || 31 || 32) {
continue;
}
除了制作 8 个单独的 if
语句之外,还有其他选择吗?还是我只能坚持这样做?
最佳答案
您没有正确给出条件。应该是这样的:
if (i == 18 || i == 19 || i == 25 || i == 26 || i == 28 || i == 29 || i == 31 || i == 32) {
continue;
}
或者,我建议您这样做:
创建一个
HashSet
并将要比较的值放入其中。检查
HashSet
是否包含i
,如果是则继续循环。Set<Integer> set = new HashSet<>(); set.add(18); set.add(19); set.add(25); set.add(26); set.add(28); set.add(29); set.add(31); set.add(32); if(set.contains(i)) { continue; }
关于java - 跳过 for 循环的某些迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36314750/