编写一个方法,返回对象数组中最大的对象。方法签名如下:public static Object max(Object[]a)所有对象
编写一个方法,返回对象数组中最大的对象。方法签名如下:publicstaticObjectmax(Object[]a)所有对象都是Comparable接口的实例。对象在数...
编写一个方法,返回对象数组中最大的对象。方法签名如下:public static Object max(Object[]a)
所有对象都是Comparable接口的实例。对象在数组中的顺序使用compareTo方法决定。编写测试程序,创建一个由10个字符串构成的数组,一个由10个整数构成的数组和一个由10个日期构成的数组,找出数组中最大的字符串、整数和日期。 展开
所有对象都是Comparable接口的实例。对象在数组中的顺序使用compareTo方法决定。编写测试程序,创建一个由10个字符串构成的数组,一个由10个整数构成的数组和一个由10个日期构成的数组,找出数组中最大的字符串、整数和日期。 展开
1个回答
展开全部
用泛型,
import java.text.Format;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class $ {
public static void main(String[] args) {
System.out.println("test1-------------------------------------------");
String[] arr0 = { "1", "3", "5", "7", "9", "2", "4", "6", "8", "0" };
System.out.println(max(arr0, arr0[0]));
System.out.println("test2-------------------------------------------");
Integer[] arr1 = { 1, 3, 5, 7, 9, 2, 4, 6, 8, 0 };
System.out.println(max(arr1, arr1[0]));
System.out.println("test3-------------------------------------------");
Format f = new SimpleDateFormat("yyyy-MM-dd");
Date[] arr2 = new Date[10];
Calendar c = Calendar.getInstance();
for (int i = 0; i < arr2.length; i++) {
c.add(Calendar.DAY_OF_MONTH, i);
arr2[i] = c.getTime();
System.out.println("arr2[" + i + "]=" + f.format(arr2[i]));
}
System.out.println(f.format(max(arr2, arr2[0])));
}
private static <T extends Comparable> T max(T[] arr, T max) {
for (T t : arr) {
if (t.compareTo(max) > 0) {
max = t;
}
}
return max;
}
}
结果:
test1-------------------------------------------
9
test2-------------------------------------------
9
test3-------------------------------------------
arr2[0]=2013-06-29
arr2[1]=2013-06-30
arr2[2]=2013-07-02
arr2[3]=2013-07-05
arr2[4]=2013-07-09
arr2[5]=2013-07-14
arr2[6]=2013-07-20
arr2[7]=2013-07-27
arr2[8]=2013-08-04
arr2[9]=2013-08-13
2013-08-13
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询