10.創建一個日期類MyDate, 包含年year、月month、日day三個屬性

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));
}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章