我正在编写一个for循环来通过一个包含38个元素的2D.但是,其中一些元素为null,我希望for循环简单地跳过它们(因为在我解决的难题中,它们没有与它们相关的移动).快速搜索显示我可以在循环开始的continue语句中跳过带有简单语句的迭代.但是,我想跳过多次迭代,我写的if语句不起作用:iffor
for (int i = 0; i < triplets.length; i++) {
if (i == 18 || 19 || 25 || 26 || 28 || 29 || 31 || 32) {
continue;
}
Run Code Online (Sandbox Code Playgroud)
是否可以选择制作8个单独的if陈述,还是我坚持下去?
你没有正确地给出这个条件.它应该是这样的:
if (i == 18 || i == 19 || i == 25 || i == 26 || i == 28 || i == 29 || i == 31 || i == 32) {
continue;
}
Run Code Online (Sandbox Code Playgroud)
或者,我建议你做这样的事情:
创建一个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;
}
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
92 次 |
| 最近记录: |