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

你可能感兴趣的:(Java练习题)