본문 바로가기
Java

달력 검색

by bloodFinger 2019. 12. 14.
import java.util.Calendar;
import java.util.Scanner;


class CalendarMain2
{
	private int year;
	private int month;
	private int startW=0;
	private int lastD=0;
	
	
	public CalendarMain2(int year , int month){
		this.year = year;
		this.month = month;	
	}
	

	public void calc(){ //입력받은 년도,달의 시작날,끝날을 계산
		Calendar cal = Calendar.getInstance();
		cal.set(year, month-1 , 1); //년,월,일 세팅
		startW=cal.get(Calendar.DAY_OF_WEEK); //입력한 달의 1일이 무슨요일로 시작하는지 출력 
		lastD=cal.getActualMaximum(Calendar.DATE); //입력한 달의 마지막날 출력 
		
		
	}

	public void display(){
		System.out.println("일\t월\t화\t수\t목\t금\t토");
		for (int i = 1; i <= lastD; i++) {
			if(i==1) {
				for (int j = 0; j < startW-1; j++) {
					System.out.print("\t");
				}
			}
		
			System.out.print(i + "\t");
			if(startW%7 == 0) { //startW가 7의 배수가 되면 한줄씩 내린다.
				System.out.println();
				System.out.println();
			}
			startW++;
			
		}
		
	}

	public static void main(String[] args) 
	{
		Scanner scan = new Scanner(System.in);
		System.out.print("년도 입력 : ");
		int year = scan.nextInt();
		System.out.print("월 입력 : ");
		int month = scan.nextInt();
		
		CalendarMain2 cm2 = new CalendarMain2(year,month);
		cm2.calc();
		cm2.display();

	}
}

 

 

결과창

 

'Java' 카테고리의 다른 글

Thread를 이용한 실시간 시계  (0) 2019.12.14
Comparable , Comparator  (0) 2019.12.14
Stream  (0) 2019.12.14
Wrapper Class - AutoBoxing  (0) 2019.12.13
Anonymous class  (0) 2019.12.13