10.創建一個日期類MyDate,
包含年year、月month、日day三個屬性,
設計無參構造方法,默認日期是1970年1月1日
有參構造方法
可以提供一個MyDate對象完成初始化
也可以分別提供年,月,日三個屬性完成初始化
設計方法
int getYear() 返回年份
int getMonth() 返回月份
int getDay() 返回天數
void setDate(int year,int month,int day) 設置日期
boolean isLeapYear() 返回是否是閏年
int daysOfMonth(int year,int month) 返回這個月有幾天、
package pactice2;
public class MyDate {
int year;
int month;
int day;
//無參構造
public MyDate() {
year = 1949;
month = 10;
day = 1;
}
//有參構造
public MyDate(int year,int month,int day) {
this.year = year;
this.month = month;
this.day = day;
}
//返回年份方法
public int getYear(int year) {
return year;
}
//返回月份
public int getMonth(int month) {
return month;
}
//返回月份
public int getDay(int day) {
return day;
}
//設置日期
public void setDate(int year,int month,int day) {
this.year = year;
this.month = month;
this.day = day;
System.out.println(year+" "+month+" "+day);
}
//返回是否爲閏年
public boolean isLeapYear(int year) {
if(year%400==0||year%4==0&&year%100!=0) {
return true;
}
return false;
}
//返回這個月有幾天
public int daysOfMonth(int year,int month) {
int a=0;
switch(month) {
case 1:a = 31;break;
case 2:if(year%400==0||year%4==0&&year%100!=0) {
a = 29;
}
else
a = 28;break;
case 3:a = 31;break;
case 4:a = 30;break;
case 5:a = 31;break;
case 6:a = 30;break;
case 7:a = 31;break;
case 8:a = 31;break;
case 9:a = 30;break;
case 10:a = 31;break;
case 11:a = 30;break;
case 12:a = 31;break;
}
return a;
}
//測試方法
public static void main(String[] args) {
MyDate date = new MyDate();
System.out.println("測試初始化時間"+date.year+"年"+date.month+"月"+date.day+"日");
System.out.println("測試返回年份"+date.getYear(1999));
System.out.println("測試返回月份"+date.getMonth(12));
System.out.println("測試返回天數"+date.getDay(28));
date.setDate(2019,10,23);
System.out.println(date.isLeapYear(2019));
System.out.println("測試返回這個月天數"+date.daysOfMonth(2019, 10));
}
}