본문 바로가기
java&eclipse 코딩 알고리즘/20231206

WeekdayTest2

by 몽상크리에이터 2023. 12. 14.

package k20231206;

 

import java.util.Iterator;

import java.util.Scanner;

 

public class WeekdayTest2 {

 

public static void main(String[] args) {

 

Scanner scanner = new Scanner(System.in);

System.out.print("요일을 알고 싶은 년, 월, 일을 입력하세요: ");

int year = scanner.nextInt();

int month = scanner.nextInt();

int day = scanner.nextInt();

 

int sum = (year-1)*365 + (year-1)/4 - (year-1)/100 + (year-1)/400;

 

for (int i = 1; i<month; i++) {

switch (i) {

case 2: // 2월

// if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0 ) {

// sum += 29;

// } else {

// sum += 28;

// }

sum += year % 4 == 0 && year % 100 != 0 || year % 400 == 0 ? 29 : 28;

break;

case 4: case 6: case 9: case 11: // 짧은달

sum += 30;

break;

default: //나머지 달

sum += 31;

break;

}

}

 

// 이번달 날짜를 더해준다

sum += day;

 

System.out.printf("%d년 %d월 %d일은 ", year, month, day);

switch (sum % 7) {

case 0: {

System.out.print("일요일");

break;

}

case 1: {

System.out.print("월요일");

break;

}

case 2: {

System.out.print("화요일");

break;

}

case 3: {

System.out.print("수요일");

break;

}

case 4: {

System.out.print("목요일");

break;

}

case 5: {

System.out.print("금요일");

break;

}

case 6: {

System.out.print("토요일");

break;

}

}

System.out.println("입니다.");

// 출력한다

char[] week = {'일', '월', '화', '수', '목', '금', '토'};

String[] week2 = {"일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"};

// 숫자를 요일 표기로 바꿔준다.

 

System.out.print(year + "년 " + month + "월 " + day + "일은 " + week[sum%7] + "요일입니다.\n"); // 2022년 12월 31일은 토요일(6)

System.out.print(year + "년 " + month + "월 " + day + "일은 " + week2[sum%7] + "입니다.\n"); // 2022년 12월 31일은 토요일(6)

}

}

'java&eclipse 코딩 알고리즘 > 20231206' 카테고리의 다른 글

WeekdayTest  (0) 2023.12.14
StringTest  (0) 2023.12.14
StringMethodTest  (0) 2023.12.14
SosooTest  (0) 2023.12.14
SooinsooTest  (0) 2023.12.14