본문 바로가기

소프트웨어/Java

[java standard]윤년을 구하자

답글을 다는 것보다 한번 정리하는게 나을 것 같아서

올립니다.

열심히 하는 모습 보기 좋구요~~

일단 윤년을 구하는 로직을 만들어 보도록 하지요~~

public class IsLeapYear{
   // isLeapYear(1990); 이렇게 호출
   // 해당년이 윤년인지 아닌지 체크하는 로직
   public boolean isLeapYear(int year){
       boolean isT = false;      
       if( ((year%4==0) && (year%100!=0)) || (year%400==0)){
         isT = true;
       }else{
         isT = false;
       }
       return isT;
   }

   // 실제로 실행하는 메인 메소드
   public static void main(String[] args){

      for(int i=1997;i<=2010;i++){
          IsLeapYear ily = new IsLeapYear();
          if(ily.isLeapYear(i)){
             System.out.println(i+"년은 윤년 입니다.");
          }else{
             System.out.println(i+"년은 윤년이 아닙니다.");
          }
      }
   }
}

1. 4로 나누어 떨어지 고!! 100으로 나누어 떨어지지 않으면윤년이고
- ((year%4==0) && (year%100!=0))

2. 1번중에 400으로 나누어떨어지는 것도 윤년임
- (year%400==0)


## 연산자를 보자면
%는 6%4 = 2(나머지 : 모듈러스라고 함)
/는 6/4 = 1(몫 : 나누기)
&&는 A&&B (A와 B가 모두 참이어야 참)
||는 A||B (A나 B 둘중에 한 조건이 참이면 참)
!=는 (NOT : 같지않을경우)