3. 采用泛型编写一个针对int型数组、float型数组、double型数组求平均值的功能类。然后再编写一个测试类,测试此功能类是否正确。
时间: 2023-06-13 10:08:17 浏览: 125
下面是针对int型数组、float型数组、double型数组求平均值的泛型类实现:
```java
public class Average<T Number> {
private T[] array;
public Average(T[]) {
this.array = array;
}
double getAverage() {
double sum 0.0;
for (T value :) {
sum += value.double();
}
return sum / array.length;
}
}
```
使用泛型限制传入的数组类型必须是Number的子类,然后在构造函数中传入数组,通过循环计算总和再除以数组长度得到平均值。
下面是测试类的实现:
```java
public class TestAverage {
public static void main(String[] args) {
Integer[] intArray = {1, 2, 3, 4, 5};
Average<Integer> intAverage = new Average<>(intArray);
System.out.println("Int Average: " + intAverage.getAverage());
Float[] floatArray = {1.1f, 2.2f, 3.3f, 4.4f, 5.5f};
Average<Float> floatAverage = new Average<>(floatArray);
System.out.println("Float Average: " + floatAverage.getAverage());
Double[] doubleArray = {1.1, 2.2, 3.3, 4.4, 5.5};
Average<Double> doubleAverage = new Average<>(doubleArray);
System.out.println("Double Average: " + doubleAverage.getAverage());
}
}
```
测试类中分别传入int数组、float数组、double数组,创建对应的Average对象并调用getAverage方法求平均值,最终输出结果。
阅读全文