干支纪年表
代码实现:
package com.xieh; public class Demo { public static void main(String[] args) { // System.out.println(gzYear(1911)); for (int i = 1800; i < 2035; i++) { System.out.println("年份:" + i); System.out.println(gzYear(i)); System.out.println(); } } public static String gzYear(Integer year) { // 十天干 String[] stg = { "甲", "乙", "丙", "丁", "戊", "已", "庚", "辛", "壬", "癸" }; // 十二地支 String[] dz = { "子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥" }; // 公元年数先减三 // 除十余数是天干 // 基数改用十二除,这里的基数指的是公元年数先减三的结果 // 余数便是地支年 int tgn = (year - 3) % 10; int dzn = (year - 3) % 12; // System.out.println("天干年:" + tgn); // System.out.println("地支年:" + dzn); if (tgn == 0) { tgn = stg.length; } if (dzn == 0) { dzn = dz.length; } return stg[tgn - 1] + dz[dzn - 1] + "年"; } }