자바 달력
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();
}
}
}//메인
}//클래스