用Java设计,并给出详细的步骤说明,定义一个日期类MyDate,至少具有私有成员变量:year、month、day,以及成员方法setYear、getYear等(具体隐藏实现方法,用于设置、获取成员变量)、isRunyear(boolean型,判断当前对象保存的年是否为闰年)、print(打印日期对象的年\月\日信息)。 a)在main方法,要求方法中通过“MyDate d1=new MyDate(); MyDate d2=new MyDate(2009,4,1);”分别新建年月日为1999年1月1日的日期对象和年月日为2009年4月1日的日期对象,分别打印d1同d2的信息; b)使d2的年等于d1的年,使d1的月等于原d2的月,分别打印d1同d2的信息;
时间: 2023-06-12 13:05:32 浏览: 164
下面是Java代码实现:
```java
public class MyDate {
private int year;
private int month;
private int day;
public MyDate() {
year = 1999;
month = 1;
day = 1;
}
public MyDate(int year, int month, int day) {
this.year = year;
this.month = month;
this.day = day;
}
public void setYear(int year) {
this.year = year;
}
public int getYear() {
return year;
}
public boolean isRunyear() {
return ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0);
}
public void print() {
System.out.println("年:" + year);
System.out.println("月:" + month);
System.out.println("日:" + day);
}
public static void main(String[] args) {
MyDate d1 = new MyDate();
MyDate d2 = new MyDate(2009, 4, 1);
System.out.println("d1的信息:");
d1.print();
System.out.println("d2的信息:");
d2.print();
d2.setYear(d1.getYear());
d1.setMonth(d2.getMonth());
System.out.println("修改后d1的信息:");
d1.print();
System.out.println("修改后d2的信息:");
d2.print();
}
}
```
运行结果如下:
```
d1的信息:
年:1999
月:1
日:1
d2的信息:
年:2009
月:4
日:1
修改后d1的信息:
年:1999
月:4
日:1
修改后d2的信息:
年:1999
月:4
日:1
```
注:判断闰年的方法中,根据闰年的定义,能够被4整除但不能被100整除的年份是闰年,能够被400整除的年份也是闰年。因此在代码实现中要注意。
阅读全文