본문 바로가기

Java/잡동사니

십이지신 계산하기

728x90
/*
 * 십이지신을 통틀어 영어로 Chinese Zodiac이라고 한다.
 * 직역하면 "중국식 황도십이궁"인데 십이지신의 기원이 중국이고 
 * 서양 점성술의 기본이되는 황도십이궁(조디악)과 비슷한데서 유래됨
 */
public class ChineseZodiac {
    // 십간(十干) 데이터
    final static String[] gan ={"갑", "을", "병", "정", "무", "기", "경", "신", "임", "계"};
    final static String[] hgan = {"甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"};
    // 십이지(十二支) 데이터
    final static String[] ji = {"자", "축", "인", "묘", "진", "사", "오", "미", "신", "유", "술", "해"};
    final static String[] hji = {"子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"};
    // 띠 데이터
    final static String[] ddi = {"쥐", "소", "호랑이", "토끼", "용", "뱀", "말", "양", "원숭이", "닭", "개", "돼지"};
    final static String[] ddiColor = {"푸른", "푸른", "붉은", "붉은", "황금", "황금", "하얀", "하얀", "검은", "검은"};
     
    public static void main(String[] args) {
        /*
         * 년도의 끝자리가 4로 끝나면 "갑"입니다.
         * 년도를 10으로 나누었을 때의 나머지가 4이면 "갑"입니다.
         *   1  2  3  4  5  6  7  8  9  0
         *  신 임 계 갑 을 병 정 무 기 경
         * 
         * 년도를 12로 나누었을 때의 나머지가 0이면 "신"입니다.
         *  0  1  2  3  4  5  6  7  8  9 10 11  
         * 신 유 술 해 자 축 인 묘 진 사 오 미
         */
        for(int y=2020;y<=2040;y++){
            System.out.print(y + " : ");
            System.out.print(hgan[(y-4)%10] + hji[(y-4)%12]);
            System.out.print( "("+ gan[(y-4)%10] + ji[(y-4)%12] + ")");
            System.out.println(" : " + ddiColor[(y-4)%10] + " " + ddi[(y-4)%12]);
        }       
    }
 
}

실행결과

728x90

'Java > 잡동사니' 카테고리의 다른 글

절대 경로 알아내기  (0) 2023.02.28
1줄 자바 Lotto  (0) 2023.02.28