자바 달력
2013. 8. 8. 14:13ㆍWEB/JSP(JAVA)
반응형
자바달력 2월 윤년을 계산해주고 첫번째 날의수 구하고자는 1일이 무슨요일인지 계산해서 뿌려준다. 소스는 아래를 참조
import java.util.*; public class ggari_calendar { static int year = 0; static int month = 0; static int tempNal = 0; static int week = 0; static int i = 0; static Scanner sc = new Scanner(System.in); public static void main(String[] args) { int monthArray[] = {31,28,31,30,31,30,31,31,30,31,30,31}; setYear(); //날짜 셋팅 if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0){ monthArray[1] = 29; //윤년이 아님 }else{ monthArray[1] = 28; //윤연 임 } // 01년 01월 01일부터 일계산 tempNal = (year - 1) * 365 + (year - 1) / 4 - (year - 1) / 100 + (year - 1) / 400; for (i = 0; i < month - 1; i++){ tempNal += monthArray[i]; // 구하는달의 첫번째 날의 수 tempNal += 1; // 구하고자 하는 달이 1일이 무슨요일인지 week = tempNal % 7; } System.out.println(" 월 화 수 목 금 토 일\n"); for (i = 0; i < week; i++) { System.out.print(" "); } for (i = 1; i <= monthArray[month - 1]; i++) { System.out.printf("%4d", i); week++; if (week % 7 == 0){ System.out.println("\n"); } } if (week % 7 != 0){ System.out.println(); } } private static void setYear() { System.out.print("연도: "); year = sc.nextInt(); if (year < 1) { System.out.println("연도를 재대로 입력해라"); setYear(); return; } setMonth(); } private static void setMonth() { System.out.print("월: "); month = sc.nextInt(); if (month < 1 || month > 12) { System.out.println("월수를 재대로 입력해라"); setMonth(); return; } } }
반응형
'WEB > JSP(JAVA)' 카테고리의 다른 글
자바 toString() 오버라이드 (1) | 2013.08.27 |
---|---|
자바 형변환 (0) | 2013.08.14 |
자바 소수 반올림 (0) | 2013.08.07 |
자바format (0) | 2013.07.26 |
자바 랜덤함수 (Random) (0) | 2013.07.09 |