全国中小学生Scratch作品大赛拉开了序幕。每个参赛选手可以通过网络直接上传作品。 也是请程序高手设计的,能自动去掉一个最高分和一个最低分,求出平均分。用java程序求出作品的平均分
时间: 2024-09-17 09:01:54 浏览: 45
在Java中,要计算参赛作品的平均分并自动去除最高分和最低分,你可以使用ArrayList存储成绩,然后遍历数组进行操作。以下是一个简单的示例:
```java
import java.util.ArrayList;
public class ScoreCalculator {
public static void main(String[] args) {
ArrayList<Integer> scores = new ArrayList<>();
// 假设scores已经填充了若干参赛作品的成绩
// 添加最高分和最低分到ArrayList中
scores.add(getHighestScore(scores));
scores.add(getLowestScore(scores));
// 删除最高分和最低分
scores.remove(scores.size() - 1);
scores.remove(0);
// 计算平均分
double averageScore = calculateAverage(scores);
System.out.println("去掉最高分和最低分后的平均分为:" + averageScore);
}
// 获取当前列表中的最高分
private static int getHighestScore(ArrayList<Integer> scores) {
int max = scores.get(0);
for (int score : scores) {
if (score > max) {
max = score;
}
}
return max;
}
// 获取当前列表中的最低分
private static int getLowestScore(ArrayList<Integer> scores) {
int min = scores.get(0);
for (int score : scores) {
if (score < min) {
min = score;
}
}
return min;
}
// 计算平均值
private static double calculateAverage(ArrayList<Integer> scores) {
int sum = 0;
for (int score : scores) {
sum += score;
}
return (double) sum / scores.size();
}
}
```
在这个例子中,我们首先获取列表中的最高分和最低分,然后从列表中移除这两个值,最后计算剩余分数的平均值。