⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ex040203.java

📁 我在学习JAVA的讲义
💻 JAVA
字号:
class  MyDate{
	public MyDate(MyDate date){
		year = date.year;
		month = date.month;
		day = date.day;
	}
	
	public MyDate(int y, int m, int d){
		if (m<1 || m>12){
			System.out.println("月应该在1~12之间");
			System.exit(1);
		}
		if (d<1){
			System.out.println("日期格式不对");
			System.exit(1);
		}
		
		switch(m){
		case 4 :
		case 6 :
		case 9 :
		case 11:
			if (d>30){
				System.out.println("日期格式不对");
				System.exit(1);
			}
			break;
		case 2 :
       		boolean leap=false;
	        if ( y % 4 != 0 )               
	            leap = false;                    
    	    else if ( y % 100 != 0 )
        	    leap = true;
        	else if ( y % 400 != 0 )
            	leap = false;
        	else
            	leap = true;
			if (!leap){
				if (d>28){
					System.out.println("日期格式不对");
					System.exit(1);
				}
			}
			else {
				if (d>29){
					System.out.println("日期格式不对");
					System.exit(1);
				}
			}
			break;
		default:
			if (d>31){
				System.out.println("日期格式不对");
				System.exit(1);
			}
		}
		year=y;
		month=m;
		day=d;
	}
	
	public boolean equal(MyDate date){
		if (year == date.year && 
			month == date.month &&
			day == date.day)
			return true;
		else
			return false;
	}
	
	public void incrementDay(){
		day++;
		switch(day){
		case 32:
			month++;
			day=1;
			break;
		case 31:
			if (month == 4 || month == 6 || 
				month == 9 || month == 11 )
			{
				month++;
				day=1;
			}
			break;
		case 30:
			if (isLeapYear()) 
			{
				month++;
				day=1;
			}
			break;
		case 29:
			if (!isLeapYear()) 
			{
				month++;
				day=1;
			}
			break;
		}
		if (month==13)
		{
			year++;
			month=1;
		}
	}
	
	public int getYear(){
		return year;
	}
	
	public int getMonth(){
		return month;
	}
	public int getDay(){
		return day;
	}
	
	public boolean isLeapYear(){
		boolean leap=false;
        if ( year % 4 != 0 )               
            leap = false;                    
        else if ( year % 100 != 0 )
            leap = true;
        else if ( year % 400 != 0 )
            leap = false;
        else
            leap = true;
		return leap;
	}

	public String toString(){
		return (""+year +"-"+month+"-"+day);
	}
	
	private int year;
	private int month;
	private int day;
}

public class Ex040203{
	public static void main(String[] args){
		MyDate date1 = new MyDate(2004,2,29);
		MyDate date2 = new MyDate(date1);
		System.out.println(date1);
		date2.incrementDay();
		System.out.println(date2.toString());
		MyDate date3 = new MyDate(date1);
		if (date1.equal(date3))
			System.out.println("true");
		else
			System.out.println("false");
		
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -