Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在for循环中继续使用标签_Java_For Loop_Continue - Fatal编程技术网

Java 在for循环中继续使用标签

Java 在for循环中继续使用标签,java,for-loop,continue,Java,For Loop,Continue,所以我在努力,我被困在69号。代码如下: @Koan public void forLoopContinueLabel() { int count = 0; outerLabel: for (int i = 0; i < 6; i++) { for (int j = 0; j < 6; j++) { count++; if (count > 2) { cont

所以我在努力,我被困在69号。代码如下:

@Koan
public void forLoopContinueLabel() {
    int count = 0;
    outerLabel:
    for (int i = 0; i < 6; i++) {
        for (int j = 0; j < 6; j++) {
            count++;
            if (count > 2) {
                continue outerLabel;
            }
        }
        count += 10;
    }
    // What does continue with a label mean?
    // What gets executed? Where does the program flow continue?
    assertEquals(count, __);
}
@Koan
public void forLoopContinueLabel(){
整数计数=0;
外标签:
对于(int i=0;i<6;i++){
对于(int j=0;j<6;j++){
计数++;
如果(计数>2){
继续外标签;
}
}
计数+=10;
}
//标签上的“继续”是什么意思?
//执行什么?程序流在哪里继续?
资产质量(计数);
}
assertEquals
检查答案是否正确-它会发送KOAN两个参数,以及它们是否与您匹配。例如,如果一个人编写了
assertEquals(3+3,6)
,那么它将是正确的

双下划线表示
替换ME
。在Koans应用程序中,它说我需要用8替换下划线,但我不清楚
continue outerLabel
是如何工作的

所以我的问题是:为什么计数8?


提前谢谢。任何帮助都将不胜感激。

继续使用外部标签强制跳过第二个
,以执行

尽管
的第二个
打算迭代6次,但当
i==0时,它实际上只迭代3次,对于
i>0
则迭代一次
  • 只有当i为0时,j才是0,1,2
  • 对于剩下的5,i的唯一j是0
  • 1*3+5*1=8

  • 有一点是这样的:一个带标签的continue语句跳过了用给定标签标记的外部循环的当前迭代。您希望得到什么?还有一点更详细的解释:一旦您的count变量大于2(当
    i
    为0而
    j
    为2时会发生这种情况)行
    continue outerLabel
    将始终跳出到循环的开头(跳过
    count+=10
    ),然后迭代直到
    i
    变为6(计算迭代次数,您将看到
    count
    的值为8)可能重复“为什么这个问题值得投否决票?”--因为您本可以研究“
    continue
    和标签”的文档化功能,所以您的意思是对
    i==0
    进行3次研究。
    i   j  count
    =   =  =====
    0   0  0     count++
           1     count++
        1  2     count++
        2  3     count++; continue outerLabel
    1   0  4     count++; continue outerLabel
    :   :  :     :
    5   0  8     count++; continue outerLabel