你好我正在寫這個程序,我想弄清楚如何比較數組中的兩個項目來找到最大的項目。在AnyType數組中尋找最大
public static <T extends Comparable< ? super T>> T getLargest(T [] a, int low, int high){
if(low>high)
throw new IllegalArgumentException();
T[] arrCopy = (T[]) new Object[high-low]
for(int i=low;i<high;i++){
if(a[i]>a[i+1])
arrCopy[i]=a[i];
else
arrCopy[i]=a[i+1];
}
return arrCopy[0];
}
但是當時我不知道如何來測試它,我想:
T[] a = {1,12,7,45,22,23,5};
System.out.println("Array: [1,12,7,45,22,23,5] low=0 high, Largest?: " + rec.getLargest(a, 0, 6));
,但我得到一個錯誤信息
的方法getLargest(T [], int,int)類型Rec不適用於參數(int [],int,int)
如何將它稱爲m讓它成爲一組數字?字符串數組是否可以用於獲取最大的代碼?
也許只是簡單的答案,但我一直在整個程序上工作了一段時間,現在看起來並不那麼清楚。
EDIT
從int []改變陣列整數[]後。我在這一行if(a[i]>a[i+1])
說
運營商得到一個錯誤>是未定義的參數類型T,T
我假設我將不得不在>
符號更改爲比較數組中的元素,但我該如何做到這一點?使用compareTo()?
好的,完美的,工作,非常感謝你 – randomizertech
現在我得到另一個錯誤。請參閱編輯。 – randomizertech
@ fgualda87 - 我回答了這個問題,但通常在這個網站上的每個問題應該是一個問題。如果您有更多問題,請打開一個新問題。你會以這種方式更快地得到答案(我認爲沒有人回答這個是因爲他們認爲我已經有了)。 –