입력한 날짜의 요일을 구해보자 (심화편)

bethe·2022년 7월 29일
0

Java

목록 보기
14/14

앞선 코드는 반복문이 너무 많다. 그래서 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] + "요일 입니다.");
	}

}
profile
코딩을 배우고 기록합니다. 읽는 사람이 이해하기 쉽게 쓰려고 합니다.

0개의 댓글