Given:



Which code fragment, when inserted at line 7, enables the code print true?

A.

B.

C.

D.

題解

選項A,while迴圈會在key和myarray中index索引對應的值一樣才會執行。第一次進入while迴圈的時候,key = 30.40f、index = 0、myarray[0] = 10.20f,「30.40f」和「10.20f」並不相等,所以while迴圈不會執行,isFound變數的值也就沒有機會被改為true了。

選項B,while迴圈會在index變數小於等於4的時候執行。第一次進入while迴圈的時候,index = 0,所以迴圈會執行,但因30.40f不等於10.20f,所以if條件式不成立,繼續執行下一次迴圈。第二次進入while迴圈的時候,index依然是0,所以這個while迴圈是無窮迴圈。

選項C,while迴圈會在index變數小於等於4的時候執行,當條件式判斷後,會將index的值加1。由於這個while沒有使用到break敘述,當index=5的時候,第8行會拋出ArrayIndexOutOfBoundsException。

選項D,正確答案,標準的線性搜尋演算法。