求数组的平均值。 编写两个重载的方法,使用下面的方法头返回一个数组的平均数。 1) public static double average(int[] array) 2) public static double average(double[] array)
时间: 2024-02-22 20:56:36 浏览: 118
好的,以下是两个重载方法的实现:
```java
public static double average(int[] array) {
int sum = 0;
for (int i = 0; i < array.length; i++) {
sum += array[i];
}
return (double) sum / array.length;
}
public static double average(double[] array) {
double sum = 0;
for (int i = 0; i < array.length; i++) {
sum += array[i];
}
return sum / array.length;
}
```
第一个方法接收一个整型数组,计算数组元素的总和,然后除以数组的长度得到平均数,并将其转换为 double 类型后返回。
第二个方法接收一个双精度浮点型数组,计算数组元素的总和,然后除以数组的长度得到平均数并返回。
以上这两个方法可以分别用于整型数组和双精度浮点型数组的平均数计算。
相关问题
求数组的平均值。 编写两个重载的方法,使用下面的方法头返回一个数组的平均数。 1) public static double average(int[] array) 2) public static double average(double[] array) 编写测试程序,提示用户输入10个double型值和5个整型值,调用这个方法,然后分别显示平均值。
好的,让我来回答这个问题。以下是代码实现:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[] intArray = new int[5];
double[] doubleArray = new double[10];
System.out.println("请输入5个整型值:");
for (int i = 0; i < intArray.length; i++) {
intArray[i] = input.nextInt();
}
System.out.println("请输入10个浮点型值:");
for (int i = 0; i < doubleArray.length; i++) {
doubleArray[i] = input.nextDouble();
}
System.out.println("整型数组的平均值为:" + average(intArray));
System.out.println("浮点型数组的平均值为:" + average(doubleArray));
}
public static double average(int[] array) {
int sum = 0;
for (int i = 0; i < array.length; i++) {
sum += array[i];
}
return (double) sum / array.length;
}
public static double average(double[] array) {
double sum = 0;
for (int i = 0; i < array.length; i++) {
sum += array[i];
}
return sum / array.length;
}
}
```
在上面的代码中,我们使用了两个重载的方法 `average(int[] array)` 和 `average(double[] array)` 来计算整型数组和浮点型数组的平均值。在 `main` 方法中,我们首先提示用户输入5个整型值和10个浮点型值,并将它们存储在 `intArray` 和 `doubleArray` 数组中。然后,我们调用 `average` 方法来计算这两个数组的平均值,并将结果显示在控制台上。
希望这个例子可以帮助你理解如何编写重载方法来处理不同类型的数据。
使用下面两个方法头编写两个重载的方法,返回数组的平均数
以下是两个重载方法的方法头:
```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()` 方法来获取默认值。
阅读全文