Language/Java

[ 코딩 연습] 클래스와 메서드_올해 띠, 간지, 나이 구하기

simDev1234 2022. 3. 12. 17:55

현재 디렉토리

 

1. 먼저 myutil 패키지 안에 myInfo클래스를 형성하고, 메소드를 작성했다.

-- 메서드 앞 public 접근제어자 : 어디서든 이 메서드 접근 가능

-- 메서드 앞 static 제어자 없음 : 인스턴스 형성 후 이 메서드 사용 가능

package myutil;

import java.util.Calendar;

public class MyInfo {
	
	//1. 띠 구하기
	//십이지 : 신유술해자축인묘진사오미 (0~11) 
	//식 : (현재년도 % 12)번째 십이지 (입 : int year, 출 : String)
	public String getTti(int year) {
		String[] Tti = {"원숭이", "닭", "개", "돼지","쥐", "소", "호랑이", 
		        "토끼","용","뱀", "말", "양",};
		int n = year % 12;
		return Tti[n];
	}
	
	//2. 간지 구하기
	//간지 : 경신임계갑을병정무기(0~9)
	//십이지 : 신유술해자축인묘진사오미 (0~11)
	//식 : (현재년도 % 10)번째 간지 + (현재년도 %12)번째 십이지 (입 : int year, 출 : String)
	public String getGanji(int year) {
		String[] Ganji = {"경","신","임","계","갑","을","병","정","무","기"};
		String[] Tti = {"신","유","술","해","자","축","인","묘","진","사","오","미"};
		int g = year % 10;
		int t = year % 12;
		
		return Ganji[g]+Tti[t];
	}
	
	
	//3. 출생년도로부터 나이 구하기 (입 : int year, 출 : int age)
	//   식 : 현재년도 - 출생년도 + 1
	public int getAge(int year) {
		//현재 년도
		Calendar c = Calendar.getInstance();
		int current_year = c.get(Calendar.YEAR);
		
		//식
		int age = current_year - year + 1;
		return age;
	}
}

 

2. mymain.Main1.java의 메인 함수에서 출력을 했다.

package mymain;

import java.util.Calendar;
import java.util.Scanner;

import myutil.MyInfo;

public class Main1 {

	public static void main(String[] args) {
		//출생년도를 통해 올해 띠, 간지, 나의 나이 구하기
		
		Scanner scanner = new Scanner(System.in);
		MyInfo myinfo = new MyInfo();
		Calendar c = Calendar.getInstance();
		
		System.out.print("당신의 출생년도를 입력하세요(ex.1994) : ");
		int user_year = scanner.nextInt();
		
		int current_year = c.get(Calendar.YEAR);
		
		System.out.printf("올해는 %d이며 %s의 해입니다.%n",current_year,myinfo.getTti(current_year));
		System.out.printf("올해는 %d이며 %s년입니다.%n",current_year,myinfo.getGanji(current_year));
		System.out.printf("올해는 %d이며 당신은 %d살이 되었습니다.%n",current_year,myinfo.getAge(user_year));
		
		scanner.close();
	}

}

>> 결과

당신의 출생년도를 입력하세요(ex.1994) : 1400
올해는 2022이며 호랑이의 해입니다.
올해는 2022이며 임인년입니다.
올해는 2022이며 당신은 623살이 되었습니다.