Java基础公元纪年法换算天干地支纪年法

Java基础公元纪年法换算天干地支纪年法

  • 计算方法:
    • 公元年数-3,除以10余数可得天干;
    • 公元年数-3,除以12余数可得地支;
  • 对照表
    • 十天干:
      • 1-甲(jiǎ)、2-乙(yǐ)、3-丙(bǐng)、4-丁(dīng)、5-戊(wù)、6-己(jǐ)、7-庚(gēng)、8-辛(xīn)、9-壬(rén)、0-癸(guǐ);
    • 十二地支:
      • 1-子(zǐ)、2-丑(chǒu)、3-寅(yín)、4-卯(mǎo)、5-辰(chén)、6-巳(sì)、7-午(wǔ)、8-未(wèi)、9-申(shēn)、10-酉(yǒu)、11-戌(xū)、0-亥(hài);
  • 程序流程图

在这里插入图片描述


public class Chinese_era {
    
    
    /**
     * 公元纪年法向天干地支纪年法换算
     * 计算方法:公元年数-3,除以10余数可得天干;
     *           公元年数-3,除以12余数可得地支;
     * @author ruan_luqingnian
     * @version 1.0.0
     */
    public static void main(String[] args) {
    
    
        System.out.println("请输入想要计算的年份(公园)如2021:");
        int year = getNumber();
        int i = year - 3;
        //System.out.println(i);
        int day = i%10;
        int lad = i%12;
        //System.out.println(day);
        //System.out.println(lad);
        /*
        十天干:1-甲(jiǎ)、2-乙(yǐ)、3-丙(bǐng)、4-丁(dīng)、5-戊(wù)、6-己(jǐ)、7-庚(gēng)、8-辛(xīn)、9-壬(rén)、0-癸(guǐ);
        十二地支:1-子(zǐ)、2-丑(chǒu)、3-寅(yín)、4-卯(mǎo)、5-辰(chén)、6-巳(sì)、7-午(wǔ)、8-未(wèi)、9-申(shēn)、10-酉(yǒu)、11-戌(xū)、0-亥(hài);
         */
        String a = getDay(day);
        String b = getLad(lad);
        System.out.println("公园"+year+"年是"+a+b+"年");
    }
    public static int getNumber(){
    
    
        Scanner scanner = new Scanner(System.in);
        int i = scanner.nextInt();
        return i;
    }
    public static String getDay(int day){
    
    
        String a = "";
        switch (day){
    
    
            case 1:a="甲";
                break;
            case 2:a="乙";
                break;
            case 3:a="丙";
                break;
            case 4:a="丁";
                break;
            case 5:a="戊";
                break;
            case 6:a="己";
                break;
            case 7:a="庚";
                break;
            case 8:a="辛";
                break;
            case 9:a="壬";
                break;
            case 0:a="癸";
                break;
        }
        System.out.println("天干为:"+a);
        return a;
    }
    public static String getLad(int lad){
    
    
        String b = "";
        switch (lad){
    
    
            case 1 : b="子";
                break;
            case 2 : b="丑";
                break;
            case 3 : b="寅";
                break;
            case 4 : b="卯";
                break;
            case 5 : b="辰";
                break;
            case 6 : b="巳";
                break;
            case 7 : b="午";
                break;
            case 8 : b="未";
                break;
            case 9 : b="申";
                break;
            case 10 : b="酉";
                break;
            case 11 : b="戌";
                break;
            case 12 : b="亥";
                break;
        }
        System.out.println("地支为:"+b);
        return b;
    }
}

猜你喜欢

转载自blog.csdn.net/ruan_luqingnian/article/details/113034340