본문 바로가기
Java/Java 예제

Java if와 논리 연산자를 이용한 날짜 출력 예제

by ssury94 2024. 12. 12.

 

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("유효하지않은 날짜입니다.");
        }


    }

}