본문 바로가기

프로그래밍/java

2012년 달력 소스

import java.util.Scanner;

public class Calendar2 {
 public static void main(String[] args) {
  Scanner s = new Scanner(System.in);
  System.out.println("출력 하려는 年, 月을 입력하십시오.(2012년만)");
  System.out.print("年: ");
  int year = s.nextInt();
  System.out.print("月: ");
  int month = s.nextInt();
  printCalendar(year, month);
 }

 static void printCalendar(int year, int month) {
  String[] days = new String[31];
  int day = 0;
  int cut = 0;

  if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8
    || month == 10 || month == 12) {
   cut = 31;
  } else if (month == 2) {
   cut = 29;
  } else {
   cut = 30;
  }
  for (int i = 0; i < cut; i++) {
   ++day;
   if (i <= 8) {
    days[i] = "0" + day;
   } else {
    days[i] = "" + day;
   }
  }
  System.out.println();
  System.out.println("     " + year + "년 " + month + "월");
  System.out.println("일   월   화   수   목   금   토");

  int sumMonth = 0;
  int restDays = 0;

  for (int i = 1; i < month; i++) {
   if (i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10
     || i == 12) {
    sumMonth += 31;
   } else if (i == 2) {
    sumMonth += 29;
   } else {
    sumMonth += 30;
   }
  } // 월의 합 for

  restDays = sumMonth % 7;
  if (restDays == 0) {
   for (int i = 0; i < cut; i++) {
    System.out.print(days[i] + " ");
    if (i == 6 || i == 13 || i == 20 || i == 27)
     System.out.println();
   } // 일요일
  }
  if (restDays == 1) {
   System.out.print("   ");
   for (int i = 0; i < cut; i++) {
    System.out.print(days[i] + " ");
    if (i == 5 || i == 12 || i == 19 || i == 26)
     System.out.println();
   } // 월요일
  }
  if (restDays == 2) {
   System.out.print("      ");
   for (int i = 0; i < cut; i++) {
    System.out.print(days[i] + " ");
    if (i == 4 || i == 11 || i == 18 || i == 25)
     System.out.println();
   }
  } // 화요일
  if (restDays == 3) {
   System.out.print("         ");
   for (int i = 0; i < cut; i++) {
    System.out.print(days[i] + " ");
    if (i == 3 || i == 10 || i == 17 || i == 24)
     System.out.println();
   }
  } // 수요일
  if (restDays == 4) {
   System.out.print("            ");
   for (int i = 0; i < cut; i++) {
    System.out.print(days[i] + " ");
    if (i == 2 || i == 9 || i == 16 || i == 23)
     System.out.println();
   }
  } // 목요일
  if (restDays == 5) {
   System.out.print("               ");
   for (int i = 0; i < cut; i++) {
    System.out.print(days[i] + " ");
    if (i == 1 || i == 8 || i == 15 || i == 22 || i == 29)
     System.out.println();
   }
  } // 금요일

  if (restDays == 6) {
   System.out.print("                  ");
   for (int i = 0; i < cut; i++) {
    System.out.print(days[i] + " ");
    if (i == 0 || i == 7 || i == 14 || i == 21 || i == 28)
     System.out.println();

   } // 토요일
  } // 나머지 월

  System.out.println();
  System.out.println("sumMonth: " + sumMonth);
  System.out.println("restDays: " + restDays);
 }

}

'프로그래밍 > java' 카테고리의 다른 글

간단한 회원관리  (0) 2012.01.19
Lotto  (0) 2012.01.19
4장 연습문제  (0) 2012.01.12
Hello Wolrd!  (0) 2012.01.12
챕터3 연습문제  (0) 2012.01.12
댓글