设计一个Student类,其成员变量有:sname、birthday、scoreA、score B、scorec 包含方法:计算年铃、计算总分、并定义该类的toString方法,输出姓名、出生日期(年-月-日)、年龄、总分)并提供测试
时间: 2023-12-21 21:04:03 浏览: 76
以下一个可能的实现:
```java
import java.time.LocalDate;
import java.time.Period;
public class Student {
private String sname;
private LocalDate birthday;
private double scoreA;
private double scoreB;
private double scoreC;
public Student(String sname, LocalDate birthday, double scoreA, double scoreB, double scoreC) {
this.sname = sname;
this.birthday = birthday;
this.scoreA = scoreA;
this.scoreB = scoreB;
this.scoreC = scoreC;
}
public int getAge() {
return Period.between(birthday, LocalDate.now()).getYears();
}
public double getTotalScore() {
return scoreA + scoreB + scoreC;
}
@Override
public String toString() {
return String.format("%s,出生日期:%s,年龄:%d,总分:%.2f",
sname, birthday.toString(), getAge(), getTotalScore());
}
public static void main(String[] args) {
Student s = new Student("张三", LocalDate.of(1998, 4, 5), 80, 90, 85);
System.out.println(s.toString());
}
}
```
这个类使用了Java 8中的`LocalDate`和`Period`类来处理日期和年龄的计算。`toString()`方法使用`String.format()`方法来格式化输出。在`main()`方法中创建一个示例对象并输出其结果。