자바 달력

자바 달력

import java.util.Scanner;

public class 연습_달력 {

 public static void main(String[] args) {

  //날짜를 입력할 경우, 요일 출력하기
  Scanner scan = new Scanner(System.in); //글자를 입력받을 스캐너를 선언
  System.out.println(“년도를 입력하세요.”);
  int year = scan.nextInt();
  
  System.out.println(“월을 입력하세요.”);
  int month = scan.nextInt();
  
  System.out.println(“일을 입력하세요.”);
  int day = scan.nextInt();
  
  
  char[] yoil = {‘일’,’월’,’화’,’수’,’목’,’금’,’토’};
  int[] month_day = {31,28,31,30,31,30,
         31,31,30,31,30,31};
  
  if((year%4==0 && year%100==0) || year%400==0){
   month_day[1] = 29; //올해가 윤년일 경우 29일로 고치기
  }
  ///////////////////////////////////////////////
  //작년까지의 일수를 모두 더함(년->일수로 변환)
  int lastYear = (year-1)*365 + (year-1)/4 -(year-1)/100 +(year-1)/400;
  
  int lastMonth=0;
  //저번달까지의 일수를 모두 더함(월->일수로 변환)
  for(int i=0; i<month-1; i++){
   lastMonth += month_day[i];
  }
  
  //오늘까지의 일수를 모두 계산하기
  int total = lastYear + lastMonth + day;
  System.out.println(lastYear);
  System.out.println(lastMonth);
  System.out.println(day);
  
  char todayYoil = yoil[total%7];
  
  System.out.println(year+”년 “+month+”월 “+day+”일은 ” + todayYoil + “요일입니다.”);
  
 }

}

==================================================================================================================

import java.util.Scanner;

public class 연습_달력2 {

 public static void main(String[] args) {
  //년도와 월을 입력하면 달력 출력하기
  Scanner scan = new Scanner(System.in);
  
  System.out.println(“년도를 입력하세요.”);
  int year = scan.nextInt();
  
  System.out.println(“월을 입력하세요.”);
  int month = scan.nextInt();
  
  //전년도까지의 일수 전부 계산하기
  int yearday = (year-1)*365 + (year-1)/4 -(year-1)/100 +(year-1)/400;
  
  //전월까지의 일수 전부계산하기
  int[] mthday = {31,28,31,30,31,30,
      31,31,30,31,30,31};
  
  if((year%4==0 && year%100==0) || year%400==0){
   mthday[1] = 29; //올해가 윤년일경우 2월을 29일로 고치기
  }
   
  int monthday=0;
  for(int i=0; i<month-1; i++){
   monthday += mthday[i];
  }
  
  
  int dayone = yearday + monthday + 1;
  
  //n월 1일의 요일 구하기
  char[] yoil = {‘일’,’월’,’화’,’수’,’목’,’금’,’토’};
  int dayoneyoil = dayone%7;
  
  System.out.println(“일\t월\t화\t수\t목\t금\t토”);
  for(int i=0;i<dayoneyoil;i++){
   System.out.printf(“*”+”\t”);
  }
  for(int i=1;i<=mthday[month-1];i++){
   System.out.printf(“%2d”+”\t”,i);
   if((dayoneyoil+i)%7==0){
    System.out.println();
   }
  }

 }//메인
}//클래스