你好我正在写这个程序,我想弄清楚如何比较数组中的两个项目来找到最大的项目。在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 - 我回答了这个问题,但通常在这个网站上的每个问题应该是一个问题。如果您有更多问题,请打开一个新问题。你会以这种方式更快地得到答案(我认为没有人回答这个是因为他们认为我已经有了)。 –