현재 디렉토리
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살이 되었습니다.
'Language > Java' 카테고리의 다른 글
[자바의 정석_복습] 포함관계_Deck과 Card예시 (0) | 2022.03.13 |
---|---|
[자바의정석_복습] 객체지향 프로그래밍2 - 상속, 다형성 (0) | 2022.03.12 |
[자바_복습] 제어문 활용_최대값/키보드 버퍼 문자 읽기/사칙연산/제곱과 팩토리 (0) | 2022.03.12 |
[자바_복습] 중첩for문 활용_구구단/행렬/별찍기 (0) | 2022.03.11 |
[자바_복습] 제어문 예시 - 조건문과 반복문 각각 (0) | 2022.03.08 |