JAVA某小组有5个学生,考了三门课程,他们的学号及成绩如表4-2所示,试编程求每个学生的总成绩及每门课的最高分,并按下表4-2形式输出。
时间: 2024-10-19 14:03:44 浏览: 28
在Java中,你可以创建一个`Student`类来表示学生,包含姓名、学号和三门课程的成绩。然后使用数组或列表来存储这5个学生的信息。这里是一个简单的示例程序:
```java
import java.util.ArrayList;
import java.util.List;
class Student {
String name;
int id;
int score1;
int score2;
int score3;
// 构造函数
public Student(String name, int id, int score1, int score2, int score3) {
this.name = name;
this.id = id;
this.score1 = score1;
this.score2 = score2;
this.score3 = score3;
}
// 计算总成绩
public int getTotalScore() {
return score1 + score2 + score3;
}
// 找出每门课的最高分
public int getHighScore(int subjectIndex) {
switch (subjectIndex) {
case 0:
return Math.max(score1, Math.max(score2, score3));
case 1:
return Math.max(score1, score2);
case 2:
return score1;
default:
throw new IllegalArgumentException("Invalid subject index");
}
}
}
public class Main {
public static void main(String[] args) {
List<Student> students = new ArrayList<>();
// 添加5个学生的数据,假设数据已经存在或者从文件或数据库获取
students.add(new Student("学生A", 1, 85, 90, 92));
students.add(new Student("学生B", 2, 78, 86, 95));
// ... (添加其他三个学生)
for (Student student : students) {
System.out.println("学生ID: " + student.id);
System.out.println("姓名: " + student.name);
System.out.println("总成绩: " + student.getTotalScore());
for (int i = 0; i < 3; i++) {
System.out.println("第" + (i+1) + "门课最高分: " + student.getHighScore(i));
}
System.out.println(); // 每个学生之间换行
}
}
}
```
在这个例子中,我们遍历学生列表,对每个学生计算总成绩并找出各科的最高分,然后按照指定格式打印出来。
阅读全文