【发布时间】:2017-02-12 18:17:10
【问题描述】:
import java.util.Calendar;
public class Person {
private Calendar dob = Calendar.getInstance();
private String name;
private int phoneNum;
public Person (String name, int birthYear, int birthMonth, int birthDate) {
this.name = name;
this.dob.set(birthYear, birthMonth, birthDate);
}
public Calendar getDob() {
return dob;
}
public void setDob(Calendar dob) {
this.dob = dob;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPhoneNum() {
return phoneNum;
}
public void setPhoneNum(int phoneNum) {
this.phoneNum = phoneNum;
}
// I want this to return true if today is my birthday
public boolean isCurrentDayInMonthSameAsBirthDayInMonth() {
if (Calendar.DAY_OF_MONTH == this.dob.get(this.dob.DAY_OF_MONTH)) {
return true;
}
else {
return false;
}
}
// I want this to return true if the month is the same as my birth month
public boolean isCurrentMonthSameAsBirthMonth() {
if (Calendar.MONTH == this.dob.get(this.dob.MONTH)) {
return true;
}
else {
return false;
}
}
}
抱歉,我需要帮助的所有内容都已正确格式化。我需要帮助将出生日期设置为我想要的任何日期,然后测试它是否是我的生日,或者该月份是否与我的出生月份相同。谢谢!
【问题讨论】:
-
我强烈建议不要使用旧的
java.util.Calendar和java.util.Date类。您应该改用java.time包中的类。 -
注意,你可以重写你的布尔方法如下
return Calendar.MONTH == this.dob.get(this.dob.MONTH;(如果else是多余的,在这样的方法中)。 -
如果可以的话,我会使用 java.time,但我必须使用 java.util.Calendar 来完成这个特定的任务
-
也许你应该把你的老师指向这些 cmets!