java:定义一个学生类student,属性有:姓名,性别,年龄,三门课程(数组存储)的成绩。定义学生类的两个构造方法,第一个构造方法可以为姓名,性别,年龄三个属性进行初始化,第二个构造方法可以为姓名,性别,年龄,课程数组进行初始化。
时间: 2024-10-10 17:16:55 浏览: 53
设计一个学生类Student(学生学号、姓名、数学、英语、计算机成绩;)
5星 · 资源好评率100%
在Java中,我们可以定义一个名为`Student`的类来表示学生,包含所需的属性如姓名、性别、年龄以及成绩。这里是一个简单的例子:
```java
public class Student {
private String name;
private String gender;
private int age;
// 使用ArrayList来存储成绩,因为数组长度需要预先确定,而List更灵活
private List<Integer> grades = new ArrayList<>();
// 第一个构造方法,用于初始化基本信息
public Student(String name, String gender, int age) {
this.name = name;
this.gender = gender;
this.age = age;
}
// 第二个构造方法,用于同时初始化基本信息和成绩
public Student(String name, String gender, int age, Integer... scores) {
this(name, gender, age);
for (int score : scores) {
grades.add(score);
}
}
// getter和setter方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public List<Integer> getGrades() {
return grades;
}
// 添加额外的公共方法,例如平均分计算
public double calculateAverageGrade() {
if (grades.isEmpty()) {
throw new IllegalArgumentException("No grades available");
}
return grades.stream().mapToInt(Integer::intValue).average().orElse(0);
}
//
阅读全文