Given the code fragment:



for (int ii = 0; ii < 3; ii++) {
    int count = 0;
    for (int jj = 3; jj > 0; jj--) {
        if (ii == jj) {
            ++count;
            break;
        }
    }
    System.out.print(count);
    continue;
}

What is the result?

A

011

B.

012

C.

123

D.

000

題解

外層for迴圈會執行三次。

第一次執行外層for迴圈,ii=0。內層for迴圈,jj的計數範圍是3~1,共執行3次。在這次外迴圈的執行中,jj都不會等於ii,因此第一次外層迴圈執行到最後,count變數的值不會被改變,會輸出「0」。

第二次執行外層for迴圈,ii=1。內層for迴圈,jj的計數範圍是3~1,執行到第三次時,jj會等於ii,所以要將count加1,然後立刻跳出內層for迴圈。第二次外層迴圈執行到最後,會輸出「1」。

第三次執行外層for迴圈,ii=2。內層for迴圈,jj的計數範圍是3~1,執行到第二次時,jj會等於ii,所以要將count加1,然後立刻跳出內層for迴圈。第三次外層迴圈執行到最後,會輸出「1」。