• 计算本年对应的生肖属性


    /**
    *@author:518ad-ccn
    *date:Dec 16, 2011
    *describe:计算天干地支,12生肖
    *计算规则相对简单,详细计算规则请参照百度百科http://baike.baidu.com/view/13672.htm
    */
    public class TianGanDizhiShengXiao{

    private final static String[][] tgdz = new String[][]{
    {"甲","乙","丙","丁","戊","己","庚","辛","壬","癸"}//10天干
    ,{"子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"}};//12地支

    //12生肖,(注:12生肖对应12地支,即子鼠,丑牛,寅虎依此类推)
    private final static String[] animalYear =
    new String[]{"鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"};

    private final static int startYear = 1804;//定义起始年,1804年为甲子年属鼠

    /**获取当前年份与起始年之间的差值**/
    public static int subtractYear(int year){
    int jiaziYear = startYear;
    if(year<jiaziYear){//如果年份小于起始的甲子年(startYear = 1804),则起始甲子年往前偏移
    jiaziYear = jiaziYear-(60+60*((jiaziYear-year)/60));//60年一个周期
    }
    return year-jiaziYear;
    }
    /**获取该年的天干名称**/
    public static String getTianGanName(int year){
    String name = tgdz[0][subtractYear(year)%10];
    return name;
    }
    /**获取该年的地支名称**/
    public static String getDiZhiName(int year){
    String name = tgdz[1][subtractYear(year)%12];
    return name;
    }
    /**
    * 获取该年的天干、地支名称
    * @param year 年份
    * @return
    */
    public static String getTGDZName(int year){
    String name = getTianGanName(year)+ getDiZhiName(year);
    return name;
    }
    /**
    * 获取该年的生肖名称
    * @param year 年份
    * @return
    */
    public static String getAnimalYearName(int year){
    String name = animalYear[subtractYear(year)%12];
    return name;
    }

    /**
    * @param args
    */
    public static void main(String[] args) {
    int i = 0;
    for(int k = startYear;k<2050;k++){
    System.out.print(k+":"+getTGDZName(k)+ "年属"+getAnimalYearName(k));
    if(++i%tgdz[0].length == 0){
    System.out.print(" ");
    }
    }
    }
    }

  • 相关阅读:
    Linux之Shell编程read读取控制台输入
    Linux之Shell编程while循环基本使用
    Linux之Shell编程for循环基本使用
    Linux之Shell编程case语句
    C语言 ##__VA_ARGS__
    C语言 __VA_ARGS__
    C语言 ##运算符
    C语言 __cplusplus
    C语言 #运算符
    C语言 extern “C”
  • 原文地址:https://www.cnblogs.com/swite/p/5267152.html
Copyright © 2020-2023  润新知