티스토리 뷰
※[JAVA] Calendar 달력
○ 실습 문제
사용자로부터 연, 월을 입력받아 해당 연 월의 달력을 그려주는 (출력하는) 프로그램을 구현한다.
단, Calendar 클래스를 활용하여 작성할 수 있도록 한다.
import java.util.Calendar;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Test138_1
{
public static void main(String[] args) throws IOException
{
//BufferedReader 클래스 인스턴스 생성
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// Calendar 인스턴스 생성
Calendar cal = Calendar.getInstance();
// 주요 변수 선언
int y,m; //-- 연, 월
int w; //-- 요일
int i; //-- 루프변수
do
{
System.out.print("연도 입력 : ");
y = Integer.parseInt(br.readLine());
}
while (y<1);
do
{
System.out.print("월 입력 : ");
m = Integer.parseInt(br.readLine());
}
while (m<1 || m>12);
// 사용자로부터 입력받은 데이터 연(y), 월(m)을 이용하여
// 달력의 날짜 세팅
cal.set(y,m-1,1);
//-- 월 구성 시 입력값(m)을 그대로 사용하는 것이 아니라
// 입력값에서 1을 뺀 값으로 월을 설정해야 한다.
//-- 일 구성 시 입력받은 연, 월에 해당하는 1일로 설정해야 한다.
w = cal.get(Calendar.DAY_OF_WEEK);
// 확인
//System.out.println(w);
//--==>> 6 -> 2019년 3월 기준 -> 금요일 -> 2019년 3월 1일 : 금요일
// 결과 출력 -> 달력 그리기
System.out.println();
System.out.println("\t [ "+y+"년 "+m+"월 ]\n");
System.out.println(" 일 월 화 수 목 금 토");
System.out.println("=====================================");
for(i=1;i<w;i++)
System.out.print(" "); //공백 4칸
// Calendar 클래스의 『getActualMaximum()』 메소드 check~!!!
for(i=1;i<=cal.getActualMaximum(Calendar.DATE);i++)
{
System.out.printf("%4d",i);
w++; //-- 반복문을 수행하며 날짜가 증가할 때 마다
// 요일도 함께 증가할 수 있도록 처리.
if(w%7==1) //-- 증가한 요일이 일요일이 될 때 마다 개행 후 출력
System.out.println(); // 개행
}
if(w%7!=1)
System.out.println(); // 개행
System.out.println("=====================================");
}
}
※실행결과
연도 입력 : 2019
월 입력 : 3
[ 2019년 3월 ]
일 월 화 수 목 금 토
=====================================
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
=====================================
계속하려면 아무 키나 누르십시오 . . .
'국비지원Study > Java' 카테고리의 다른 글
[JAVA] 로또 번호 생성기 (0) | 2019.03.10 |
---|---|
[JAVA] 몇일뒤의 날짜구하기 (0) | 2019.03.10 |
[JAVA] 향상된 버블 정렬(Bubble Sort) (0) | 2019.03.10 |
[JAVA] 버블 정렬(Bubble Sort) (0) | 2019.03.10 |
[JAVA] 선택정렬(Selection Sort) (0) | 2019.03.10 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 블로그관리
- 알고리즘
- 리액트
- 초보개발자
- 별찍기
- Git
- 전문대
- 자바
- 자료구조
- Python
- It
- Java
- Velopert
- 노마드코더
- 인스타그램 클론
- 전공
- 무료강의
- 반복문
- 국비지원
- highlight.js
- C
- 배열
- 책리뷰
- Nomad Coders
- Tistory
- 개발자
- 설치방법
- React
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
글 보관함