3. 用java采用泛型编写一个针对int型数组、float型数组、double型数组求平均值的功能类。然后再编写一个测试类,测试此功能类是否正确。
时间: 2023-06-13 19:07:38 浏览: 94
基于Java的泛型编程
下面是一个针对 int、float 和 double 数组计算平均值的泛型类 `ArrayAvg`:
```java
public class ArrayAvg<T extends Number> {
private T[] array;
public ArrayAvg(T[] array) {
this.array = array;
}
public double getAvg() {
double sum = 0;
for (T t : array) {
sum += t.doubleValue();
}
return sum / array.length;
}
}
```
测试类如下:
```java
public class ArrayAvgTest {
public static void main(String[] args) {
Integer[] intArray = {1, 2, 3, 4, 5};
ArrayAvg<Integer> intArrayAvg = new ArrayAvg<>(intArray);
System.out.println("Int array avg: " + intArrayAvg.getAvg());
Float[] floatArray = {1.0f, 2.0f, 3.0f, 4.0f, 5.0f};
ArrayAvg<Float> floatArrayAvg = new ArrayAvg<>(floatArray);
System.out.println("Float array avg: " + floatArrayAvg.getAvg());
Double[] doubleArray = {1.0, 2.0, 3.0, 4.0, 5.0};
ArrayAvg<Double> doubleArrayAvg = new ArrayAvg<>(doubleArray);
System.out.println("Double array avg: " + doubleArrayAvg.getAvg());
}
}
```
输出结果如下:
```
Int array avg: 3.0
Float array avg: 3.0
Double array avg: 3.0
```
阅读全文