如何在應用「最佳實踐」時優化以下代碼以使其更高效,最佳方式是什麼?這只是一個簡單的學校項目,它的工作原理,我已經測試過。但我只是覺得有一種更好更有效的方法來編寫這種方法。你怎麼看?如何優化當前的getMax方法以檢索數組中的最大數字?
- 我有一個陣列被 預填充一束 數字。
getMax()
方法 檢索 數組中的最大數字。但是,如果數組爲空,則它將返回-1
。 nElems只是一個變量,用於跟蹤陣列中存在多少元素。
array
是在類的開頭聲明的私有數組。public int getMax() { int k = 0; int max = array[0]; for(int j=0; j<nElems; j++) { if(max < array[j]) max = array[j]; } if(k == nElems) return -1; else return max; } // end of method
哦,我應該如何命名我ķ變量,以使其更具可讀性?它的目的是0,所以可以根據數組中元素的數量來檢查它是否返回-1或最高數字;
假設所有的數組值都是正值。
您的版本的方法存在一個主要問題:如果數組中的最大值小於-1,它就存在。 – ColinD 2010-09-10 02:15:05
是的,好點。我猜測,由於提問者返回「-1」表示「空數組」,數組中的所有值都是非負數。我忘了說出我的想法。既然這只是一個猜測,我會解決的。 – 2010-09-10 02:17:59
是的,你是對的數組索引超出界限的異常錯誤。感謝您糾正錯誤。 – 2010-09-10 02:51:13