java程序统计5位学生成绩,平均分,用switch语句排名
时间: 2024-10-13 11:06:34 浏览: 33
在Java中,如果你想通过`switch`语句来统计5位学生的成绩并计算平均分以及按照分数排名,你可以这样做:
首先,创建一个枚举(Enum)来表示学生的等级,例如`Grade`,然后定义一个`Student`类,包含姓名和成绩属性。接着,我们可以编写一个主函数来处理这个任务:
```java
public class Main {
public static void main(String[] args) {
enum Grade {
A(90), B(80), C(70), D(60), F(0);
private int score;
Grade(int score) {
this.score = score;
}
// 获取对应的成绩值
int getScore() {
return score;
}
}
Student[] students = {
new Student("学生A", Grade.A),
new Student("学生B", Grade.B),
new Student("学生C", Grade.C),
new Student("学生D", Grade.D),
new Student("学生E", Grade.F)
};
double totalScore = 0;
for (Student student : students) {
totalScore += student.getScore();
}
double averageScore = totalScore / students.length;
System.out.println("平均分: " + averageScore);
int rank = 1;
switch (students[0].getGrade()) { // 使用第一个学生的成绩作为基准
case A:
System.out.println(students[rank - 1].getName() + " 排名第" + rank++);
break;
case B:
System.out.println(students[rank - 1].getName() + " 排名第" + rank++);
break;
// 其他等级类似...
default:
break;
}
// 打印剩余学生的排名
for (int i = 1; i < students.length; i++) {
switch (students[i].getGrade()) {
case A:
rank++;
break;
// ...
}
System.out.println(students[i].getName() + " 排名第" + rank);
}
}
}
class Student {
String name;
Grade grade;
public Student(String name, Grade grade) {
this.name = name;
this.grade = grade;
}
// 获取名字
public String getName() {
return name;
}
// 返回grade对象
public Grade getGrade() {
return grade;
}
}
```
在这个例子中,我们先计算了所有学生的总分,然后根据第一个学生的成绩进行初步排序。之后逐个遍历其余学生,并根据他们的成绩更新排名。
阅读全文