java定义数组存放10个学生的成绩(成绩值自己设定),将成绩从大到小排序,计算并显示输出成绩总和,平均成绩,最小成绩,最大成绩
时间: 2024-10-13 22:08:09 浏览: 43
在Java中,你可以这样做:
```java
import java.util.Arrays;
public class StudentGrades {
public static void main(String[] args) {
// 定义一个包含10个默认值(例如0)的成绩数组
int[] studentScores = new int[10];
// 设置每个学生的成绩(这里仅作示例,可以根据需要设置)
for (int i = 0; i < studentScores.length; i++) {
studentScores[i] = i + 50; // 从50开始到149,模拟成绩范围
}
// 使用Arrays.sort对成绩数组进行降序排列
Arrays.sort(studentScores);
reverseSort(studentScores); // 如果不直接支持降序排序,可以自定义一个倒序方法
// 计算成绩相关统计信息
int sum = Arrays.stream(studentScores).sum();
double average = (double) sum / studentScores.length;
int minScore = Arrays.stream(studentScores).min().getAsInt();
int maxScore = Arrays.stream(studentScores).max().getAsInt();
// 输出结果
System.out.println("按降序排列的成绩:");
for (int score : studentScores) {
System.out.print(score + " ");
}
System.out.println("\n总和:" + sum);
System.out.println("平均成绩:" + average);
System.out.println("最小成绩:" + minScore);
System.out.println("最大成绩:" + maxScore);
}
// 自定义倒序方法(如果Java版本低于8,可用Collections.reverse等)
private static void reverseSort(int[] array) {
for (int i = 0; i < array.length / 2; i++) {
int temp = array[i];
array[i] = array[array.length - 1 - i];
array[array.length - 1 - i] = temp;
}
}
}
```
在这个程序中,首先创建了一个长度为10的整数数组`studentScores`,然后设置了每个学生的分数。接着对数组进行降序排序,并计算总和、平均分、最小分和最大分。最后,打印出所有数据。
阅读全文