Für die Umsetzung ist es entscheident, ob Du Datum-Hilfsklassen von JAVA benützen darfst, oder ob Du das völlig zufuß machen sollst.
Bevor Du aber irgendwas in die Tastatur hackst, mach Dir mit Stift und Papier Notizen und probiere ein bischen rum.
Wenn am 1.1.2021 Vollmond war, dann war der nächste VM am...? Und der nächste am...? ...
Falls Du OHNE Datum-Klassen arbeiten musst: Welche Informationen benötig Dein Program?
Hi, Datum-Hilfsklassen habe ich noch nicht gelernt. Von daher glaube ich, dass ich alles manuell machen muss. Ich habe angefangen so zu schreiben:
public class Vollmond {
/**
* @param args
*/
public static void main(String[] args) {
int n = Integer.parseInt(args[0]); // hier soll n Argumente eingeben. Z.B: ich will 2 Monate sehen, die
// 2 mal Vollmond im Monat haben.
int jahr = 2022;
boolean istSchaltjahr;
String[] monat = {"Januar", "Februar", "Maerz", "April", "Mai", "Juni", "Juli", "August", "September",
"Oktober", "November", "Dezember"};
int[] maxtagemonat = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
String[] ergebnis = new String[];
int count = 0;
int vollmondtag = 1;
// Kontrolle ob das jahr ein Schalftjahr ist. Das ist ein Schaltjahr wenn es durch 4 teilbar
// und durch 100 nicht teilbar
istSchaltjahr = (jahr % 4 == 0) && (jahr % 100 != 0);
// oder das Jahr durch 400 teilbar
istSchaltjahr = istSchaltjahr || (jahr % 400 == 0);
// wenn das Jahr ein Schaltjahr ist, hat der Monat Februar 29 Tage
if (istSchaltjahr) {
maxtagemonat[1] = maxtagemonat[1] + 1;
}
for (int i = 0; i<monat.length; i++) {
vollmondtag = vollmondtag + 29;
}
}
}
jetzt habe ich Probleme: 1. Wie kann ich zählen, welcher Monat hat 2 mal Vollmond
2. Wie mache ich das Jahr automatisch steigen wenn der Monat Dezember zu Ende ist und die Vollmondberechnung weiter geht.
Beispiel Ausgabe: java Vollmond 2
2022, Januar
2023, Oktober