자바 영구달력 알고리즘

영구달력은 영구읍~다 그 영구가 나오는 달력이 아니고, 
다른 말로 만년 달력이라고 할 수 있습니다. 우리가 일상적으로 
사용하는 양력달력을 말하는겁니다. 이걸 년도와 월을 입력받아
출력해주는 자바 프로그램을 만들어 봅니다.
먼저 달력 관련 프로그램이므로 자바 유틸에 있는 
Calendar 클래스를 임포트해주고, 이건 생성자
대신에 바로 인스턴스를 선언합니다.
import java.util.Calendar ;
Calendar calendar = Calendar.getInstance() ;
윤년을 구하는 알고리즘은 엮인글 참조하세요.
윤년을 먼저 구하는 이유는 매년 2월의 말일이

28일인지 29일인지를 알고자 함입니다.

그리고, 그 외 매달 말일이 30일인지 31일인지

결정을 해줘야겠죠.

달력에서 한 주일은 7일이므로 이걸 세팅해줍니다.
calendar.set(year, month - 1, 1) ;
int day = calendar.get(Calendar.DAY_OF_WEEK) ;
이제 해당 월의 달력을 출력해주는 부분.
위에서 구해진 그 달의 말일을 활용하여
한 달의 달력을 구성합니다. 아래 date는
초기값을 1로 지정하여 변수 선언합니다.
if (day == 1) {
  for (i = 1 ; i <= checkMonthLast ; i++) {
    if (i == 8 || i == 15 || i == 22 || i == 29 ) {
      System.out.println() ;          
    }    
    System.out.printf("%2d\t", date++) ;
  }
}

나머지 2~7일도 이런 방식으로 해주면 됩니다.

이제 결과를 보겠습니다.

by 케찹만땅 | 2016/11/28 16:04 | JavaAndroid | 트랙백(1)

트랙백 주소 : http://wpkc.egloos.com/tb/5311054
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Tracked from 케찹만땅 at 2016/11/28 16:08

제목 : Java로 윤년 알아보는 프로그램
자바는 유니코드를 지원하기 때문에 변수명을 한글로 써줘도 됩니다. 하지만, 이건 개인적인 연습에서만 하는게 좋고, 변수명을 영문으로 하는 것을 권장합니다.윤년을 검사하고 싶은 연도를 입력해야 하기 때문에 JAVA 입출력 Class를 임포트 한다.import .io.* ;public class LunarYear { public static void main(String[] args) throws Exception {......more

※ 로그인 사용자만 덧글을 남길 수 있습니다.

◀ 이전 페이지          다음 페이지 ▶