/* 干支记年法
在我国古代和近代,一直采用干支法纪年。它采用10天干和12地支配合,一个循环周期为60年。
10天干是:甲,乙,丙,丁,戊,己,庚,辛,壬,癸
12地支是:子,丑,寅,卯,辰,巳,午,未,申,酉,戌,亥
如果某年是甲子,下一年就是乙丑,再下是丙寅,......癸酉,甲戌,乙亥,丙子,....
总之天干、地支都是循环使用,两两配对。
今年(2012)是壬辰年,1911年辛亥革命
下面的代码根据公历年份输出相应的干支法纪年。已知最近的甲子年是1984年。
请分析代码逻辑,并推测划线处的代码。
答案写在 “解答.txt” 文件中
注意:只写划线处应该填的内容,划线前后的内容不要抄写。
*/
public class 干支记年法 {
public static void f(int year){
char[] x = {'甲','乙','丙','丁','戊','己','庚','辛','壬','癸'};
char[] y = {'子','丑','寅','卯','辰','巳','午','未','申','酉','戌','亥'};
int n = year - 1984;
while(n<0) {
n += 60;
}
System.out.printf("%d %s%s\n", year,x[n%10], y[n%12]);
}
public static void main(String[] args){
f(1911);
f(1970);
f(2012);
}
}
运行结果:
1911 辛亥
1970 庚戌
2012 壬辰