Java 学生类实现:属性、访问方法、平均成绩计算和成绩修改
以下是一个示例的学生类的实现:
public class Student {
private int ID;
private String name;
private String gender;
private int age;
private String major;
private double GPA;
private double[] grades;
public Student(int ID, String name, String gender, int age, String major, double GPA, double[] grades) {
this.ID = ID;
this.name = name;
this.gender = gender;
this.age = age;
this.major = major;
this.GPA = GPA;
this.grades = grades;
}
public int getID() {
return ID;
}
public String getName() {
return name;
}
public String getGender() {
return gender;
}
public int getAge() {
return age;
}
public String getMajor() {
return major;
}
public double getGPA() {
return GPA;
}
public double[] getGrades() {
return grades;
}
public double calculateAverageGrade() {
double sum = 0;
for (double grade : grades) {
sum += grade;
}
return sum / grades.length;
}
public void updateGrade(int courseIndex, double newGrade) {
grades[courseIndex] = newGrade;
}
}
这个学生类具有私有属性 ID、姓名、性别、年龄、专业、GPA 以及存储五门课程成绩的数组。构造函数用于初始化这些属性。然后,提供了访问每个属性的公共方法,例如 'getID()'、'getName()' 等。还提供了计算平均成绩的方法 'calculateAverageGrade()' 和修改特定课程成绩的方法 'updateGrade()'。
使用该学生类的示例代码如下:
public class Main {
public static void main(String[] args) {
double[] grades = {90, 85, 95, 80, 88};
Student student = new Student(1, 'John', 'Male', 20, 'Computer Science', 3.8, grades);
System.out.println('ID: ' + student.getID());
System.out.println('Name: ' + student.getName());
System.out.println('Gender: ' + student.getGender());
System.out.println('Age: ' + student.getAge());
System.out.println('Major: ' + student.getMajor());
System.out.println('GPA: ' + student.getGPA());
System.out.println('Grades:');
for (double grade : student.getGrades()) {
System.out.println(grade);
}
System.out.println('Average Grade: ' + student.calculateAverageGrade());
student.updateGrade(2, 90);
System.out.println('Updated Grades:');
for (double grade : student.getGrades()) {
System.out.println(grade);
}
}
}
这个示例创建了一个学生对象,并使用访问属性的方法输出了学生的信息和成绩。然后,调用了修改特定课程成绩的方法,并再次输出了更新后的成绩。
原文地址: https://www.cveoy.top/t/topic/o9YO 著作权归作者所有。请勿转载和采集!