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 |