본문 바로가기
Java/Java 예습

[Java] 자바의 객체 Part.2 실습_4

by 박채니 2022. 1. 27.

안녕하세요, 코린이의 코딩 학습기 채니입니다.

Java 객체를 예습했던 내용에 대해 실습을 정리한 포스팅입니다.

 

package com.kh.prac7.controller;

import java.util.Calendar;

public class DateCalculator {

	public long leapDate() {
		Calendar today = Calendar.getInstance();
		long sumDays = 0L;
		
		for(int i = 0; i <= today.get(Calendar.YEAR); i++) {	//년도가 바뀜
			if(i == today.get(Calendar.YEAR)) {	// 올해의 날짜만 계산
				for(int j = 1; j <= (today.get(Calendar.MONTH) +1); j++) {	//달이 바뀜
					
					if(j == (today.get(Calendar.MONTH)+1)) {
						for(int n = 1; n < today.get(Calendar.DATE); n++) {
							sumDays+=1;
						}
					}
					else if(j == 2) {
						if(isLeapYear(i)) {
							sumDays+=29;
						} else {
							sumDays+=28;
						}
					}
					else if(j == 4 || j == 6 || j == 9 || j == 11) {
						sumDays+=30;
					}
					else {
						sumDays+=31;
					}
				}
			}
			else {
				if(isLeapYear(i)) {
					sumDays+=366;
				} else {
					sumDays+=365;
				}
			}
		}
		return sumDays;
	}
	
	public boolean isLeapYear(int year) {
		if(year % 4 == 0 && (year % 100 != 0 || year % 400 ==0)) {
			return true;
		} else {
			return false;
		}
	}

}
@run
package com.kh.prac7.run;

import java.util.Calendar;

import com.kh.prac7.controller.DateCalculator;

public class Run {

	public static void main(String[] args) {
		DateCalculator cd = new DateCalculator();
		Calendar cal = Calendar.getInstance();
		if(cd.isLeapYear(cal.get(Calendar.YEAR))) {
			System.out.println("올해는 윤년입니다.");
		}else {
			System.out.println("올해는 평년입니다.");
		}
		System.out.println("0년 1월 1일부터 오늘까지 일수 : " + cd.leapDate());

	}

}

@출력값
올해는 평년입니다.
0년 1월 1일부터 오늘까지 일수 : 738547