如何定义一个名为’Student’的学生类,包括姓名、年龄、学号、性别和三个成绩字段?同时,请指导如何计算并显示每个学生的平均成绩以及全面的信息展示方法。在java里
时间: 2024-09-13 13:14:28 浏览: 39
在Java中,你可以按照以下步骤定义一个名为`Student`的学生类:
```java
public class Student {
// 定义属性
private String name;
private int age;
private String studentId;
private char gender; // 使用char类型表示性别,通常'A'代表男,'B'代表女等
private double[] scores; // 用于存储三门课程的成绩
// 构造函数
public Student(String name, int age, String studentId, char gender, double score1, double score2, double score3) {
this.name = name;
this.age = age;
this.studentId = studentId;
this.gender = gender;
this.scores = new double[]{score1, score2, score3};
}
// 计算平均成绩
public double calculateAverageScore() {
if (scores.length != 0) {
return Arrays.stream(scores).average().orElse(0);
} else {
throw new IllegalArgumentException("No scores available.");
}
}
// 显示学生信息
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
", studentId='" + studentId + '\'' +
", gender='" + Character.toString(gender) + '\'' +
", averageScore=" + calculateAverageScore() +
", scores=" + Arrays.toString(scores) +
'}';
}
}
```
在这个类中,我们定义了学生的属性,并提供了一个构造函数接受初始化值。`calculateAverageScore()`方法用于计算并返回三门成绩的平均值。`toString()`方法是一个默认的Java方法,用于以字符串形式打印对象的所有属性,方便查看学生信息。
要创建并显示学生信息,可以这样做:
```java
Student student1 = new Student("张三", 18, "123456", 'A', 85.0, 90.0, 95.0);
System.out.println(student1);
```
阅读全文