[OCAJP]線性搜尋


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,正確答案,標準的線性搜尋演算法

關於作者

Magic Len

各位好,我是Magic Len,是這網站的管理員。我是台灣台中大肚山上人,畢業於台中高工資訊科和台灣科技大學資訊工程系,曾在桃機航警局服役。我熱愛自然也熱愛科學,喜歡和別人分享自己的知識與經驗。如果你有興趣認識我,可以加我的Facebook,並且請註明是從MagicLen來的。

相關文章