package entity;
public class MyDate {
private int day;
private int month;
private int year;
//디폴트 생성자
public MyDate() {
}
//MyDate(int day, int month, int year) 생성자
public MyDate(int day, int month, int year) {
this.day = day;
this.month = month;
this.year = year;
}
// todo 우리가 만들 메소드
public boolean isValid() {
if (month < 1 || month > 12) {
return false;
}
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
if (day < 1 || day > 31) {
return false;
}
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
if (day < 1 || day > 30) {
return false;
}
} else if (month == 2) {
//윤년인경우
if (year % 4 == 0) {
if (day < 1 || day > 29) {
return false;
}
} else {
//윤년이 아닌경우
if (day < 1 || day > 28) {
return false;
}
}
}
return true;
}
// check
// 월은 1부터 12까지다.
// 일은 1,3,5,7,8,10,12월은 1-31일까지
// 2월은 4로 나눠서 나머지가 0이면 1-29일까지 (윤년)
// 그렇지 않으면 1-28일까지
// 4,6,9,11월은 1-30일까지다.
// 일 get
public int getDay() {
return day;
}
// 일 set
public void setDay(int day) {
this.day = day;
}
// 월 get
public int getMonth() {
return month;
}
// 월 set
public void setMonth(int month) {
this.month = month;
}
//년 get
public int getYear() {
return year;
}
//년 set
public void setYear(int year) {
this.year = year;
}
}
//public boolean isValid() 메서드를 만들어 날짜가 유효한지 확인합니다.
//MyDateTest 클래스에서 생성한 MyDate 날짜가 유효한지 확인합니다.
import entity.MyDate;
public class MyDateTest {
public static void main(String[] args) {
MyDate date1=new MyDate(30, 2, 2000);
System.out.println(date1.isValid());
if(date1.isValid()){
System.out.println("유효한날짜입니다.");
}else{
System.out.println("유효하지않은 날짜입니다.");
}
}
}