2021년 7월 : 네이버 통합검색
'2021년 7월'의 네이버 통합검색 결과입니다.
search.naver.com
public static void main(String[] args) {
// 년, 월 입력 받아 달력 만들기
Scanner sc = new Scanner(System.in);
int[] months = new int[] {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int y, m;
int tot;
int w;
do {
System.out.print("년도 ? ");
y = sc.nextInt();
} while(y<1);
do {
System.out.print("월 ? ");
m=sc.nextInt();
} while(m<1 || m>12);
months[1] = (y%4==0 && y%100!=0) || (y%400==1) ? 29 : 28;
// 윤년이면 2월이 29일 이므로
tot = (y-1)*365 + (y-1)/4- (y-1)/100 + (y-1)/400;
//전체날수
for(int i=0; i<m-1; i++) {
tot += months[i];
}
tot+= 1;
// 1년 1월 1일 ~ y년 m월 1일까지 전체 날수
// 요일 구하기
w = tot % 7; // 일~토는 7일 이니까 나누기 7을 하는거.
System.out.printf("\n\t%d년 %d월\n", y, m);
System.out.println(" 일 월 화 수 목 금 토");
System.out.println("-------------------------------");
for(int i=0; i<w; i++) {
System.out.print(" ");
} // 첫 주 공백 만들기
for(int i=1; i<=months[m-1]; i++) {
System.out.printf("%4d", i);
if(++w % 7 ==0) { // 토요일까지 찍고 행바꾸기
System.out.println();
}
}
if (w%7 !=0) {
System.out.println(); // 마지막날이 마지막주 토요일아니면 행바꿔라
//아니면 --- 가 마지막 날 옆에 출력
}
System.out.println("-------------------------------");
sc.close();
}
년도가 4의 배수이고 100의 배수가 아니거나 400의 배수이면 2월이 29일, 1년은 366
나머지는 2월이 28일, 1년은 365
서기 1년 1월 1일은 월요일
먼저
1) 1.1.1 ~ 입력한 년.입력한 월.1
1년 1월 1일 부터 입력한 년의 그 전해 까지의 일수를 구한다. (21년일시 20년 까지의 일수)
2) 입력한 년.1.1~입력한 년. 입력한 월.1
입력한 년 1월 1일 부터 입력한 년의 입력한 월까지의 일수를 구한다. (21년 일시 21년 1월 1일~ 21년 입력한 달까지의 일수)
'쌍용강북교육센터 > 7월' 카테고리의 다른 글
0712_Ex03_Quiz : 로또 1~45까지 수중 서로 다른 6개의 수 생성 (0) | 2021.07.12 |
---|---|
0712_Ex02_Quiz : 5개의 점수를 입력받아 최대점수와 최소점수를 뺀 합구하기 (0) | 2021.07.12 |
0709_Ex15_array : 1~10까지 난수를 100개 발생시켜 출력 (0) | 2021.07.12 |
0709_Ex14_array : 배열 선언과 초기화를 동시에 하기 (0) | 2021.07.12 |
0709_Ex13_array : 배열은 참조형 데이터타입이다. (0) | 2021.07.12 |