定义一个Student 数组,其中保存学生的基本信息,包括姓名、学号、性别, 还分别保存三门课程的成绩及三门课程对应的学分。试编程计算这三门课程的学分积, 并按学分积的降幂进行排序,输出排序后结果
时间: 2024-10-12 10:08:40 浏览: 84
在Java中,你可以创建一个名为`Student`的类来表示学生的信息,并包含姓名、学号、性别、成绩和学分属性。然后,可以定义一个数组来存储这样的学生对象。接下来,我们将编写一个方法来计算总学分积,以及一个方法用于对数组进行降序学分积排序。这里是一个简单的示例:
```java
import java.util.Arrays;
class Student {
String name;
int studentId;
char gender;
double[] grades; // 保存三门课程的成绩
int[] credits; // 保存对应课程的学分
// 构造函数
public Student(String name, int studentId, char gender, double[] grades, int[] credits) {
this.name = name;
this.studentId = studentId;
this.gender = gender;
this.grades = grades;
this.credits = credits;
}
// 计算学分积
double calculateCreditProduct() {
double totalProduct = 0;
for (int i = 0; i < grades.length; i++) {
totalProduct += grades[i] * credits[i];
}
return totalProduct;
}
}
public class Main {
public static void main(String[] args) {
// 创建学生数组
Student[] students = new Student[3];
students[0] = new Student("张三", 1001, 'M', new double[]{85, 90, 92}, new int[]{4, 3, 5});
students[1] = new Student("李四", 1002, 'F', new double[]{78, 88, 94}, new int[]{3, 4, 5});
students[2] = new Student("王五", 1003, 'M', new double[]{90, 92, 86}, new int[]{4, 3, 4});
// 计算并排序学分积
Arrays.sort(students, (s1, s2) -> s2.calculateCreditProduct() - s1.calculateCreditProduct());
// 输出排序后的结果
for (Student student : students) {
System.out.println("学生姓名:" + student.name + " 学分积:" + student.calculateCreditProduct());
}
}
}
```
阅读全文
相关推荐


















