public class MayanDate { private int baktun; private int katun; private int tun; private int uinal; private int kin; public MayanDate(int baktun, int katun, int tun, int uinal, int kin) { if (!validMayanDate(baktun, katun, tun, uinal, kin)) { throw new IllegalArgumentException("Not a valid Mayan date."); } this.baktun = baktun; this.katun = katun; this.tun = tun; this.uinal = uinal; this.kin = kin; } public void incrementOneKin() { kin += 1; if (kin == 20) { kin = 0; uinal += 1; } if (uinal == 18) { uinal = 0; tun += 1; } if (tun == 20) { tun = 0; katun += 1; } if (katun == 20) { kin = 0; uinal = 0; tun = 0; katun = 0; baktun += 1; } } public void incrementNKin(int n) { for (int i = 1; i <= n; i++) { incrementOneKin(); } } private boolean validMayanDate(int baktun2, int katun2, int tun2, int uinal2, int kin2) { // TODO Auto-generated method stub return true; } public int getKin() { return kin; } public int getUinal() { return uinal; } public int getTun() { return tun; } public int getKatun() { return katun; } public int getBaktun() { return baktun; } public String toString() { String dateString = baktun + "." + katun + "." + tun + "." + uinal + "." + kin; return dateString; } }