一,定义泛型类,成员变量是Number类或其子类对象的数组,成员方法有:求数组元素最小值、最大值和平均值。创建泛型类对象,分别求Integer和Double型数组的最小,最大、平均值。
二,按照题目要求,自己写的程序如下:
Array.java
package com.Shuzu3.java;
public class Array <T extends Number>{
public Array(T[] array)
{
this.array=array;
}
public void getMax()
{
//T[] array;
//double temp=(double) array[0];
//double temp=(double)array[0];
T max=this.array[0];
for(int i=1;i<this.array.length;i++)
{
if(array[i].toString().compareTo(max.toString())>0)
{
max=array[i];
}
}
System.out.println("数组元素中最大的值为: "+max);
}
public void getMin()
{
T min=this.array[0];
for(int i=1;i<this.array.length;i++)
{
if(array[i].toString().compareTo(min.toString())<0)
{
min=array[i];
}
}
System.out.println("数组元素中最小的值为: "+min);
}
public void getAver()
{
double ave=0.0;
double sum=0.0;
//sum=0;
for(int i=0;i<array.length;i++)
{
sum+=array[i].doubleValue();
}
ave=sum/array.length;
System.out.println("该数组的平均值为: "+ave);
}
private T[] array;
}
Test2.java
package com.Shuzu3.java;
public class Test2 {
public static void main(String [] args)
{
Array<Integer> ar1=new Array<Integer>(new Integer[]{3,5,1,6,77,90,47});
Array<Double> ar2=new Array<Double>(new Double[]{3.23,244.231,4.1,6.23,6.2});
//Array<Integer> []ar1=new Array<Integer>{1,2,3,4,5,6,7,8,9,10};
//Integer []i ={9,8,7,6,1,2,3,5,100};
//Double []j={2.4,5.4,7.8,12.11,45.23,5.67,2.99};
//Array<Integer> ar1=new Array<Integer>(i);
//Array<Double> ar2=new Array<Double>(j);
System.out.println("Integer型整数如下:");
ar1.getMax();
ar1.getMin();
ar1.getAver();
System.out.println("\n");
System.out.println("Double型数组如下操作:");
ar2.getMax();
ar2.getMin();
ar2.getAver();
}
}