Best Practice Haushaltsbuch

Pahiti78

Mitglied
Hallo Zusammen,

ich möchte ein Haushaltsbuch, nur zum Üben, mit Java erstellen. Das Buch sollte verschiedene Einkünfte und Ausgaben aufnehmen und diese dann miteinander verrechnen. Bei der Layoutplanung bin ich noch nicht. Ich möchte erst einmal prinzipiell überlegen, wie ich anfange. Meine Überlegung ist:
  1. Erstellen einer Klasse EingabenAusgaben
  2. Objekte erstellen vom Typ EingabenAusgaben
  3. Eine ArrayList erstellen für Ausgaben und eine ArrayList für Einnahmen
  4. Die Objete der ArrayListe hinzufügen
  5. Eine weitere ArrayListe für die Zahlen erstellen
Klingt dies so prinzipiell richtig, oder würdet ihr hier schon anders anfangen?
In die ArrayListe für Zahlen sollen dann ja die montlichen Ein- und Ausgaben. Wie kann ich dann die Werte der ArrayListe mit der NamensArrayListe verknüpfen. Ich bin gespannt auf Eure Antworten.:)
 

Pahiti78

Mitglied
Also ich habe 1,5 Java Bücher durchgearbeitet und die Codes dazu mit verfasst. Datenbanken (Access) habe ich schon zur Genüge erstellt. Ich will es jetzt in Java wissen. Von der DB Entwicklung her weiss ich, dass ich anfangs DB erstellt habe, welche alle Schrott waren, da ich entscheidende Überlegungen im Vorfeld nicht traf. Deshalb möchte ich es jetzt anders machen. Ist meine Vermutung mit einer Klasse und den Objekten richtig oder soll ich lieber für jede Umsatz- bzw. Kostenart eine Klasse machen und dann über ein interface Methoden überschreiben.
 

njans

Top Contributor
  1. Erstellen einer Klasse EingabenAusgaben
  2. Objekte erstellen vom Typ EingabenAusgaben
  3. Eine ArrayList erstellen für Ausgaben und eine ArrayList für Einnahmen
  4. Die Objete der ArrayListe hinzufügen
  5. Eine weitere ArrayListe für die Zahlen erstellen

Ich würde eher folgendes machen:

  1. Erstelle eine Klasse Haushaltsbuch
  2. Ein Haushaltsbuch muss entweder anhand einer Datei in einem festen Format erstellt werden können, oder du musst eine Helper Methode schreiben die dieses macht
  3. Ein Haushaltsbuch muss in eine Datei abgespeichert werden können
  4. Erstelle eine Klasse HaushaltsbuchEintrag/Eintrag/<anderer passender name> so, dass du dort den Grund und den Wert eintragen kannst
  5. Haushaltsbuch hat eine Liste (ich würde hier wohl eher zur LinkedList tendieren)von HaushaltsbuchEintrag für Einkommen und eine für Ausgaben

Dann musst du dir überlegen, wie du die Struktur aufbauen willst und was da alles noch so kommen soll:
- Eine GUI ? oder nur Konsole ?
- Speichern auf Platte oder auf einer DB?
- Speichern auf Platte: csv, JSON, XML, oder was ganz anderes?
 

Pahiti78

Mitglied
  1. Erstelle eine Klasse Haushaltsbuch
  2. Ein Haushaltsbuch muss entweder anhand einer Datei in einem festen Format erstellt werden können, oder du musst eine Helper Methode schreiben die dieses macht
  3. Ein Haushaltsbuch muss in eine Datei abgespeichert werden können
  4. Erstelle eine Klasse HaushaltsbuchEintrag/Eintrag/<anderer passender name> so, dass du dort den Grund und den Wert eintragen kannst
  5. Haushaltsbuch hat eine Liste (ich würde hier wohl eher zur LinkedList tendieren)von HaushaltsbuchEintrag für Einkommen und eine für Ausgaben

Hallo njans,
danke für deine Antwort. Wenn ich dieses Haushaltsbuch specihern möchte, muss ich dann die Objekte speichern, oder gibt es da bessere Möglichkeiten.
Die Beschriebende List LinkedList kann die mehr als eine ArrayList?
 

njans

Top Contributor
Wenn ich dieses Haushaltsbuch specihern möchte, muss ich dann die Objekte speichern, oder gibt es da bessere Möglichkeiten.
Du kannst doch einfach den "Inhalt" speichern: Wenn du ein Objekt hast, dass einen String und einen double hält (z.B. HaushaltsbuchEintrag), dann speicherst du einfach:
EINKOMMEN:"Grund für Einkommen":120.20:Euro

- EINKOMMEN als Markierung, dass es sich um eine Einzahlung handelt
- Jeder Eintrag wird durch ein : getrennt
- "Grund für Einkommen" ist eine Beschreibung was du da für Einkommen/Ausgaben hast
- 120.20 ist der Wert
- Euro ist die Einheit der Währung

Das ist jetzt recht stark aufgedröselt, je nachdem, wie Flexibel du sein willst, kannst du einiges weglassen oder hinzufügen.

Die Beschriebende List LinkedList kann die mehr als eine ArrayList?

Sie kann "mehr" in dem Sinne, dass sie auch als Queue verwendet werden kann. Der Grund, warum ich die nehmen würde ist allerdings, dass diese Liste besser dafür geeignet ist, Elemente hinzugefügt und Entfernt zu bekommen. Dafür ist dann der Zugriff nicht mehr in konstanter Zeit. Da du aber, so denke ich, eh immer über die ganze Liste iterierst, spielt das keine Rolle.
 

Neue Themen


Oben