Hey Leute,
ich sitze seit langem an diesem Problem. Ich benutze eine HashMap um meine Feiertage zu speichern, jedoch ist mir bei ein Feiertag ein Problem aufgefallen. Bei dem Muttertag gibt es Bedingungen. Zum einen muss es den 2. Sonntag im Monat Mai sein und wenn da schon Pfingstsonntag platziert ist soll der Feiertag um 1 woche verschoben werden. Der Muttertag ist der einzige feiertag der mir 2 mal ausgegeben wird.
Als erstes wird das hier aufgerufen. Na klar wird der User welchen er ausgegeben haben will jedoch liegt hierbei nicht das Problem. Alles funktioniert Wunderbar.
Das ist die Methode wo ich meine Festenfeiertage habe. Den Multiplikator verwende ich weil wochentagImJahr gibt mir eine 0 aus und das ist laut meinem Array ein Sonntag. Der Multiplikator dient also für die wochen die er bespringen soll. Ich hoffe ich hab das gut ausgedrückt. Ich denke das das Problem ist das der Bereich mit if(multiplikator==3) aufgerufen wird und noch eine if-Bedingung. Ich hoffe ihr könnt mir helfen.
ich sitze seit langem an diesem Problem. Ich benutze eine HashMap um meine Feiertage zu speichern, jedoch ist mir bei ein Feiertag ein Problem aufgefallen. Bei dem Muttertag gibt es Bedingungen. Zum einen muss es den 2. Sonntag im Monat Mai sein und wenn da schon Pfingstsonntag platziert ist soll der Feiertag um 1 woche verschoben werden. Der Muttertag ist der einzige feiertag der mir 2 mal ausgegeben wird.
Als erstes wird das hier aufgerufen. Na klar wird der User welchen er ausgegeben haben will jedoch liegt hierbei nicht das Problem. Alles funktioniert Wunderbar.
Java:
public String getMonatsblatt(int jahr, int monat) {
addBeweglicheFeiertageInMap(jahr);
addFesteFeiertageInMap(jahr, monat);
}
Das ist die Methode wo ich meine Festenfeiertage habe. Den Multiplikator verwende ich weil wochentagImJahr gibt mir eine 0 aus und das ist laut meinem Array ein Sonntag. Der Multiplikator dient also für die wochen die er bespringen soll. Ich hoffe ich hab das gut ausgedrückt. Ich denke das das Problem ist das der Bereich mit if(multiplikator==3) aufgerufen wird und noch eine if-Bedingung. Ich hoffe ihr könnt mir helfen.
Java:
public void addFesteFeiertageInMap(int jahr, int monat) {
int multiplikator = 0;
for (int tag = 1; tag <= getLaengeDerMonat(jahr, 5); tag++) {
int tagesZahlImJahr = kalenderFunktion.tagesnummer(tag, 5, jahr);
int wochentagImJahr = getWochenTagImJahr(jahr, tagesZahlImJahr);
if (wochentagImJahr == 0) {
multiplikator++;
if (multiplikator == 2) {
if (this.feiertageMap.containsValue("Pfingstsonntag")) {
multiplikator++;
if (multiplikator == 3) {
this.feiertageMap.put(getZweiBuchstabe(tag) + ".05", new Event("Muttertag"));
}
} else if (!this.feiertageMap.containsValue("Pfingstsonntag")){
this.feiertageMap.put(getZweiBuchstabe(tag) + ".05", new Event("Muttertag"));
}
}
}
}