JAVA求一个数组元素中的最大值和最小值,和平均值(去掉最大最小值)
时间: 2024-09-12 11:16:13 浏览: 120
java 输入一个数字组成的数组(输出该数组的最大值和最小值)
在Java中,可以使用以下步骤来找到数组中的最大值、最小值以及去除这两个极端值后的平均值:
1. **找出最大值和最小值**:
- 使用`Arrays`类提供的`stream()`方法将数组转换为流(Stream),然后使用`max()`和`min()`函数分别获取最大值和最小值。
```java
int[] array = {10, 20, 30, 40, 50};
int max = Arrays.stream(array).max().getAsInt();
int min = Arrays.stream(array).min().getAsInt();
```
2. **计算平均值(去掉最大最小值)**:
- 首先,计算数组长度减去1,因为要去掉最大值和最小值。
- 然后,对剩下的元素求和,并除以剩余元素的数量。
```java
double sum = 0;
for (int i = 0; i < array.length; i++) {
if (i != 0 && i != array.length - 1) { // 不考虑第一个和最后一个元素
sum += array[i];
}
}
double averageWithoutExtremes = sum / (array.length - 2);
```
完整的例子:
```java
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] array = {10, 20, 30, 40, 50};
int max = Arrays.stream(array).max().getAsInt();
int min = Arrays.stream(array).min().getAsInt();
System.out.println("Max value: " + max);
System.out.println("Min value: " + min);
double sum = 0;
for (int i = 0; i < array.length; i++) {
if (i != 0 && i != array.length - 1) {
sum += array[i];
}
}
double averageWithoutExtremes = sum / (array.length - 2);
System.out.println("Average without extremes: " + averageWithoutExtremes);
}
}
```
阅读全文