【发布时间】:2021-09-05 21:23:36
【问题描述】:
对于this code kata,我需要同时continue 2 个循环。我该怎么做?
public class StringMerger {
public static boolean isMerge(String s, String part1, String part2) {
StringBuilder MergedWord = new StringBuilder("");
String Whole = part1+part2;
for(int j = 0; j < Whole.length(); j++){
for(int I = 0; I < part1.length(); I++){
if((Character.compare(s.charAt(j), part1.charAt(I)) == 0) && (j == I)){
MergedWord.append(s.charAt(I)+"");
continue;
}
else
break;
}
for(int i = 0; i < part2.length(); i++){
if((Character.compare(s.charAt(j), part2.charAt(i)) == 0) && (j == i)){
MergedWord.append(part2.charAt(i) + "");
continue;
}
else
break;
}
}
return s.equals(MergedWord.toString())? true : false;
}
}
我注意到当其中一个 for 循环继续时,它只会继续内部循环,但标签会继续上层循环并且效率低下。我可以同时继续 2 个 for 循环,也就是在这个嵌套的 for 循环中继续内循环和上循环吗?
【问题讨论】:
-
“同时”是什么意思?您是否要继续
j循环但保留其他循环变量的值?请举例说明从每个循环“双重继续”时 3 个循环变量的值。 -
喜欢 j++ 和 i/I++
-
如果我理解正确,你想打破第一个内循环,而不是在第一个满足某些条件后进入第二个内循环。最好的解决方案是使用标志作为执行第二个循环的条件。
-
在问题本身中总结问题是个好主意。许多人不会去外部链接(随着时间的推移,外部链接会发生变化并变得陈旧,从而使问题对未来的访问者毫无用处)来找出您需要什么。
-
也许这就是您的意思:developer.com/design/understanding-the-java-labeled-statement,您可以向下滚动到“带有标签的 continue 语句”
标签: java