Das sieht nach einem guten Platz für ein Array aus.
Wenn viele Daten pro Tag aufgezeichnet werden sollten (z.B. die Temperatur und Luftdruck für jede Stunde), könnten wir eine Klasse Tag
definieren, die die Tage repräsentiert und wir hätten ein Array von Tag
en in jedem Monat
.
Aber vorerst speichern wir die Temperaturen in einem Array von int
s.
Ein Monat
könnte nicht für alle Tage gültige Daten haben.
Einige Tage könnten in der Zukunft liegen und andere Tage könnten fehlen.
Das Array valide
enthält einen true
/false
Wert für jeden Tag, der sagt ob die Temperatur für diesen Tag gültig ist.
Hier ist der Beginn der Klasse:
public class Monat { // Instanzvariablen private int monat; // 1 == Januar private int jahr; // als int, z.B. 2024 private int tageImMonat; //Anzahl der Tage dieses Monats // Temperatur Daten private int[] temp; private int[] valide; // Konstruktor public Monat(int monat, int jahr) { this.monat = monat; this.jahr = jahr; temp = new int[ ] ; valide = new int[ ] ; } }
Die Höchsttemperatur für jeden Tag wird dem Objekt monat
hinzugefügt, nachdem es erzeugt worden ist.
Der Konstruktor benötigt nur die Zahl für das jahr
und den monat
zu wissen. Er initialisiert diese und erzeugt zwei Arrays.
Rückblick: Die Zellen von int
-Arrays werden automatisch mit 0 initialisiert.
Wir wählen eine Größe für jedes Array.