7-4 计算年龄 分数 10 作者 吴恋 单位 贵州师范学院 定义一个Birthday类,其成员变量有3个整形变量(出生的年月日):year,month,day;提供构造方法对这3个成员变量进行初始化;提供成员变量的get、set方法;成员函
时间: 2023-05-28 20:07:01 浏览: 364
数有一个计算年龄的方法age(),返回当前对象的年龄。另外,提供一个计算到给定日期的年龄的方法age(int year, int month, int day),返回到给定日期的年龄。
代码如下:
```
public class Birthday {
private int year;
private int month;
private int day;
public Birthday(int year, int month, int day) {
this.year = year;
this.month = month;
this.day = day;
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
public int getMonth() {
return month;
}
public void setMonth(int month) {
this.month = month;
}
public int getDay() {
return day;
}
public void setDay(int day) {
this.day = day;
}
public int age() {
LocalDate today = LocalDate.now();
LocalDate birthday = LocalDate.of(year, month, day);
Period period = Period.between(birthday, today);
return period.getYears();
}
public int age(int year, int month, int day) {
LocalDate today = LocalDate.of(year, month, day);
LocalDate birthday = LocalDate.of(this.year, this.month, this.day);
Period period = Period.between(birthday, today);
return period.getYears();
}
}
```
其中,age()方法使用了Java 8中的日期时间API,通过LocalDate类计算出当前日期和出生日期之间的年龄差。age(int year, int month, int day)方法则接受一个日期参数,计算出到该日期时的年龄差。
阅读全文