앞선 코드는 반복문이 너무 많다. 그래서 Scanner 클래스와 배열 문법을 사용하여 반복을 줄이는 코드를 작성해보았다.
1. Scanner 클래스
2. Array(배열)
3.
package ex06;
import java.util.Scanner;
public class week {
public static void main(String[] args) {
int year, month, day;
Scanner scan = new Scanner(System.in);
System.out.println("연도를 입력하시오");
year = scan.nextInt();
System.out.println("월을 입력하시오");
month = scan.nextInt();
int[] lastDay = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
System.out.println("일을 입력하시오");
day = scan.nextInt();
int totalDays = (year - 1900) * 365 + (year - 1900) / 4;
if ((year-1900)%4 == 0 && (month<3)) {
totalDays = totalDays - 1;
}else {
lastDay[1] = 29;
}
for (int i = 0; i < month - 1; i++) {
totalDays += lastDay[i];
}
int week = totalDays % 7;
char[] dayWeek = { '일', '월', '화', '수', '목', '금', '토' };
System.out.println(year + "년 " + month + "월 " + day + "일은 " + dayWeek[week] + "요일 입니다.");
}
}