用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-10 19:08:58 浏览: 164
以下是Java代码实现:
```java
public class MyDate {
private int year;
private int month;
private int day;
public MyDate() {
this.year = 1999;
this.month = 1;
this.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() {
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
return true;
} else {
return false;
}
}
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();
}
}
```
在本实验中,我遇到了如下问题:
1. 如何判断闰年?
解决方法:使用闰年的定义,即能被4整除但不能被100整除或者能被400整除。
2. 如何修改对象的成员变量?
解决方法:通过对象的set方法修改成员变量的值。
3. 如何调用对象的成员方法?
解决方法:通过对象.方法名()的方式调用。例如:d1.print()。
以上问题都是Java初学者常见的问题,需要通过熟练掌握基础语法和实践来解决。
阅读全文