在Java语言程序设计项目评分中,如何计算去除最高分和最低分后的平均成绩(保留两位小数)?
时间: 2024-09-18 09:05:44 浏览: 38
在Java中,如果你有一个学生分数列表,通常你会先对这个列表进行排序,然后去除最高分和最低分,最后计算剩余分数的平均值。下面是一个简单的步骤示例:
```java
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
// 假设你有一个学生的分数列表
List<Double> scores = Arrays.asList(85.0, 92.0, 78.0, 96.0, 88.0);
// 首先对列表进行排序
Collections.sort(scores);
// 去除最高分和最低分
if (scores.size() > 2) {
scores.remove(scores.get(0)); // 最低分
scores.remove(scores.get(scores.size() - 1)); // 最高分
}
// 计算并打印平均成绩(保留两位小数)
double averageScore = scores.stream().mapToDouble(Double::doubleValue).average().orElse(Double.NaN);
System.out.printf("去掉最高分和最低分后的平均成绩为: %.2f\n", averageScore);
}
}
```
这段代码首先对分数列表进行升序排列,然后移除第一个(最低分)和最后一个元素(最高分),最后通过`average()`函数计算剩下的平均值,并使用`orElse()`处理可能为空的情况。
阅读全文