僅供學習和交流,請勿用作其他用途,歡迎評論咨詢問題或指出可以改進之處
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
System.out.println(num);
int hDay, hMonth, hYear;
int tDay, tMonth, tYear;
int days;
String hMonthStr,dayStr;
while ((num--) > 0) {
hDay = Integer.valueOf(scanner.next().replace(".",""));
hMonthStr = scanner.next();
if("pop" .equals(hMonthStr)) hMonth = 0;
else if("no" .equals(hMonthStr)) hMonth = 1;
else if("zip" .equals(hMonthStr)) hMonth = 2;
else if("zotz".equals(hMonthStr)) hMonth = 3;
else if("tzec".equals(hMonthStr)) hMonth = 4;
else if("xul" .equals(hMonthStr)) hMonth = 5;
else if("yoxkin".equals(hMonthStr))hMonth = 6;
else if("mol" .equals(hMonthStr)) hMonth = 7;
else if("chen".equals(hMonthStr)) hMonth = 8;
else if("yax" .equals(hMonthStr)) hMonth = 9;
else if("zac" .equals(hMonthStr)) hMonth = 10;
else if("ceh" .equals(hMonthStr)) hMonth = 11;
else if("mac" .equals(hMonthStr)) hMonth = 12;
else if("kankin".equals(hMonthStr))hMonth = 13;
else if("muan".equals(hMonthStr)) hMonth = 14;
else if("pax" .equals(hMonthStr)) hMonth = 15;
else if("koyab".equals(hMonthStr)) hMonth = 16;
else if("cumhu".equals(hMonthStr)) hMonth = 17;
else hMonth = 18;
hYear = scanner.nextInt();
days = 365 * hYear + hMonth * 20 + hDay;
tYear = (days - (days % 260)) / 260;
tMonth = (days % 260) % 13 + 1;
tDay = (days % 260) % 20 + 1;
dayStr = "";
switch (tDay) {
case 20:
dayStr = "ahau";
break;
case 1:
dayStr = "imix";
break;
case 2:
dayStr = "ik";
break;
case 3:
dayStr = "akbal";
break;
case 4:
dayStr = "kan";
break;
case 5:
dayStr = "chicchan";
break;
case 6:
dayStr = "cimi";
break;
case 7:
dayStr = "manik";
break;
case 8:
dayStr = "lamat";
break;
case 9:
dayStr = "muluk";
break;
case 10:
dayStr = "ok";
break;
case 11:
dayStr = "chuen";
break;
case 12:
dayStr = "eb";
break;
case 13:
dayStr = "ben";
break;
case 14:
dayStr = "ix";
break;
case 15:
dayStr = "mem";
break;
case 16:
dayStr = "cib";
break;
case 17:
dayStr = "caban";
break;
case 18:
dayStr = "eznab";
break;
case 19:
dayStr = "canac";
break;
}
System.out.println(tMonth+" "+dayStr+" "+tYear);
}
}
}