Java通过构造方法实现全校学生3门课程的平均分和学分计算他的总gpa
以下是一个可能的解决方案:
public class Student {
private String name;
private int grade;
private double[] scores;
private double[] credits;
public Student(String name, int grade, double[] scores, double[] credits) {
this.name = name;
this.grade = grade;
this.scores = scores;
this.credits = credits;
}
public double getAverageScore() {
double sum = 0;
for (double score : scores) {
sum += score;
}
return sum / scores.length;
}
public double getTotalCredits() {
double sum = 0;
for (double credit : credits) {
sum += credit;
}
return sum;
}
public double getGPA() {
double gpa = 0;
for (int i = 0; i < scores.length; i++) {
gpa += scores[i] / 20 * credits[i];
}
return gpa / getTotalCredits();
}
}
在这里,我们定义了一个名为Student的类,它有一个构造方法,它接受学生的姓名,年级,分数和学分数组。我们还定义了三个方法来计算平均分,总学分和gpa。请注意,我们假设每个学科的最高分数为100,最低分数为0,所以我们用scores[i] / 20来将分数转换为gpa,因为gpa的范围通常在0到4之间。
为了使用这个类,我们可以这样做:
public class Main {
public static void main(String[] args) {
double[] scores1 = {80, 90, 85};
double[] credits1 = {3, 4, 2};
Student student1 = new Student("张三", 1, scores1, credits1);
System.out.println(student1.getAverageScore()); // 输出:85.0
System.out.println(student1.getGPA()); // 输出:3.46
double[] scores2 = {75, 85, 90};
double[] credits2 = {2, 3, 4};
Student student2 = new Student("李四", 2, scores2, credits2);
System.out.println(student2.getAverageScore()); // 输出:83.33
System.out.println(student2.getGPA()); // 输出:3.26
}
}
在这里,我们创建了两个学生对象,并使用它们的方法计算平均分,总学分和gpa。我们可以看到,张三的平均分是85.0,gpa是3.46,李四的平均分是83.33,gpa是3.26
原文地址: https://www.cveoy.top/t/topic/epB7 著作权归作者所有。请勿转载和采集!