编写一个返回对象数组中最大对象的方法。方法签名为:
public static Object max(java.lang.Comparable[] a)所有对象都是java.lang.Comparable接口的实例。使用compareTo方法确定数组中对象的顺序。
用main方法编写一个测试程序,该方法创建一个由十个java.util.Dates组成的数组、一个由十个整数组成的数组和一个由十个String组成的数组,并在数组中找到最大的String (即按字母顺序排列)、Integer和Date。
将java类命名为Max,将java文件命名为Max.java。
我很难掌握我在这项任务中到底需要做什么。我真正纠结的两件事是如何使用接口和compareTo方法。根据我的理解,接口只包含方法,那么我就必须在接口外部调用compareTo方法?无论如何,这就是我到目前为止所拥有的。
public class Max {
public static Object max(java.lang.Comparable[] a) {
Object tempObj = new Object();
for (int i = 0; i < a.length - 1; i++) {
if ((a[i]).compareTo(a[i + 1]) > 0)
tempObj = a[i];
else
tempObj = a[i + 1];
}
return tempObj;
}
// compare toMethod
public void CompareTo() {
a[i].compareTo(a[i + 1]);
}
}// End Main
class MaxTest implements Max {
public void main(String[] args) {
Integer[] intArray = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
String[] stringArray = { "a", "b", "c", "d", "e", "f", "g", "h", "i",
"j" };
java.util.Date[] dateArray = {};
for (int j = 0; j < 10; j++)
dateArray[j] = new java.util.Date();
}// End Main
}//End Class发布于 2015-04-03 23:03:45
你就快到了,但是
public void CompareTo方法是无用的。顺便说一句,你从来不用它。a.length - 1,a[i + 1]是什么。数组的有效索引是什么?new Object()max()来查看它是否工作正常。发布于 2015-04-03 23:04:59
这样如何:
public static Object max(Comparable[] a) {
return Collections.max(Arrays.asList(a));
}https://stackoverflow.com/questions/29434557
复制相似问题