其实蛮简单的,你要搞清楚中国的天干地支 给你写了一个,你一看就应该明白了。 public class LunarCalendar { static char[] TIANGAN={'甲','乙','丙','丁','戊','己','庚','辛','壬','癸'}; static char[] DIZHI={'子','丑','寅','卯','辰','巳','午','未','申','酉','戌','亥'}; static char[] SHENGXIAO={'鼠','牛','虎','兔','龙','蛇','马','羊','猴','鸡','狗','猪'};
private static int JIZHINIAN=4; //公元4年为甲子年,然后60年一个轮回
public static String tianganDizhi(int year){ int between=(year-JIZHINIAN)%60; //六十年一甲子
int tiangan=0; int dizhi=0; for (int i=1;i<=between;i++){ tiangan=(tiangan>=9)?0:(tiangan+1); dizhi=(dizhi>=11)?0:(dizhi+1); } return ""+TIANGAN[tiangan]+DIZHI[dizhi];
}
public static String shengXiao(int year){ int between=(year-JIZHINIAN)%12; //12年一个轮回
http://tech.sina.com.cn/down/baishitong/wannianli.html
给你写了一个,你一看就应该明白了。
public class LunarCalendar {
static char[] TIANGAN={'甲','乙','丙','丁','戊','己','庚','辛','壬','癸'};
static char[] DIZHI={'子','丑','寅','卯','辰','巳','午','未','申','酉','戌','亥'};
static char[] SHENGXIAO={'鼠','牛','虎','兔','龙','蛇','马','羊','猴','鸡','狗','猪'};
private static int JIZHINIAN=4; //公元4年为甲子年,然后60年一个轮回
public static String tianganDizhi(int year){
int between=(year-JIZHINIAN)%60; //六十年一甲子
int tiangan=0;
int dizhi=0;
for (int i=1;i<=between;i++){
tiangan=(tiangan>=9)?0:(tiangan+1);
dizhi=(dizhi>=11)?0:(dizhi+1);
}
return ""+TIANGAN[tiangan]+DIZHI[dizhi];
}
public static String shengXiao(int year){
int between=(year-JIZHINIAN)%12; //12年一个轮回
return ""+SHENGXIAO[between];
}
public static void main(String[] args) {
System.out.println(tianganDizhi(2009));
System.out.println(shengXiao(2009)); }}