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;
}
}