所以我的工作Java Koans和我卡上的數字69下面的代碼:與標籤繼續在for循環中
@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, __);
}
assertEquals
檢查,如果答案是正確的 - 它發送Koans兩爭論,如果他們匹配你前進。例如,如果有人寫了assertEquals(3 + 3, 6)
這是正確的。
雙下劃線表示REPLACE ME
。在Koans應用程序中,它說我需要用8代替下劃線,但我不明白continue outerLabel
的工作原理。
所以我的問題是:爲什麼計數8?
在此先感謝。任何幫助,將不勝感激。
有一個在[官方教程]一些關於它(https://docs.oracle.com/javase/tutorial/java/nutsandbolts/branch.html):*標記continue語句跳過當前迭代一個外部循環標有給定的標籤。* – UnholySheep
你期望什麼? – Yev
對於更詳細的解釋:一旦你的count變量大於2(當'i'爲0且'j'爲2時會發生這種情況),'continue outerLabel'這行會一直跳到循環的開始(跳過'count + = 10'),然後迭代直到'i'變爲6(計算迭代次數,您將看到'count'結束爲值8) – UnholySheep