2017-09-26 46 views
0

在第一個循環中,如果子句userVals [i]從0開始,比較將在索引0處的值和minVal之間初始化爲0;所以,爲什麼我需要在for循環之前設置這個「minVal = userVals [0];」語句。其次,讓我們假設minVal = userVals [0];然後,我們假設minVal = userVals [0];如果minVal = userVals [0],則返回0。是必須具備的。我認爲for循環中的「i」應該從索引1開始,因爲userVals [0]已經分配給了minVal。然而,在這種情況下,「i」在0或1開始的地方並不重要,它會產生相同的結果。在數組中查找最小值的語句

minVal = userVals[0]; 
for(i =0; i< userVals.length; i++) { 
    //for(i =1; i< userVals.length; i++) { 
    if (userVals[i] < minVal) { 
     minVal = userVals[i]; 
    } 
} 
System.out.println(minVal); 

您的幫助表示感謝!

回答

0

對於第一點,您需要設置minVal最初的東西。你可以選擇一些標記值,然後在循環中檢查它,使用像Integer/MAX_VALUE這樣的值,或者只是使用列表中的一個元素。最後一種方法是最乾淨的,只要您知道該列表將包含至少一個元素。如果它爲空,則userVals[0]將導致錯誤。

對於你的第二點,是的,它看起來像你可以在1開始索引。我立即看不到任何會導致的錯誤。

+0

感謝您的幫助。 – Ben