使用下面两个方法头编写两个重载的方法,返回数组的平均数
时间: 2024-03-06 12:47:19 浏览: 30
以下是两个重载方法的方法头:
```java
public static double getAverage(int[] arr) {
// 方法体
}
public static double getAverage(double[] arr) {
// 方法体
}
```
第一个方法接受一个整数数组作为参数,返回这个数组的平均值,数据类型为 `double`。
第二个方法接受一个双精度浮点数数组作为参数,返回这个数组的平均值,数据类型为 `double`。
在方法体内,可以使用循环或者 Java 8 中的 Stream API 来计算数组的平均值。其中,循环方法如下:
```java
public static double getAverage(int[] arr) {
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
return (double) sum / arr.length;
}
public static double getAverage(double[] arr) {
double sum = 0.0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
return sum / arr.length;
}
```
而 Stream API 方法如下:
```java
public static double getAverage(int[] arr) {
return Arrays.stream(arr).average().orElse(Double.NaN);
}
public static double getAverage(double[] arr) {
return Arrays.stream(arr).average().orElse(Double.NaN);
}
```
这里使用了 `Arrays.stream(arr)` 来将数组转换为流,然后调用 `average()` 方法来计算平均值。需要注意的是,如果数组为空,`average()` 方法会返回一个空的 OptionalDouble 对象,因此需要使用 `orElse()` 方法来获取默认值。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)