Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Name: Haushaltsbuch
- // Version: 1.2.4
- // Time: 2017-05-22 : 16:06h
- package projectitalia.light;
- import java.util.ArrayList;
- public class Main {
- public static void main(String[] args) {
- // Haushaltsbuch für einen Monat erstellen
- Haushaltsbuch _januar = new Haushaltsbuch(2017, "_januar");
- // Einnahmen protokollieren
- _januar.protokoll(new Rechnungsobjekt(1000, "KDG"), Haushaltsbuch.RechnungsobjektTyp.Aktien);
- _januar.protokoll(new Rechnungsobjekt(400, "McDonalds"), Haushaltsbuch.RechnungsobjektTyp.Aktien);
- _januar.protokoll(new Rechnungsobjekt(300, "Thermo Fisher Scientic"), Haushaltsbuch.RechnungsobjektTyp.Aktien);
- _januar.protokoll(new Rechnungsobjekt(50, "Straßenfund"), Haushaltsbuch.RechnungsobjektTyp.SonstigeE);
- // Einnahmen zusammen rechnen
- _januar.brutto();
- // Ausgaben protokollieren
- for (int i = 0; i <= 93; i++) {
- _januar.protokoll(new Rechnungsobjekt(3.99, "BigMac"), Haushaltsbuch.RechnungsobjektTyp.Lebensmittel);
- _januar.protokoll(new Rechnungsobjekt(1.24, "Cola"), Haushaltsbuch.RechnungsobjektTyp.Lebensmittel);
- }
- _januar.protokoll(new Rechnungsobjekt(160, "Ergotherapie"), Haushaltsbuch.RechnungsobjektTyp.Gesundheit);
- _januar.protokoll(new Rechnungsobjekt(1000.99, "Thermomix"), Haushaltsbuch.RechnungsobjektTyp.SonstigeA);
- // Ausgaben zusammen rechnen
- _januar.ausgaben();
- // Monatsnettobetrag errechnen
- _januar.netto();
- }
- }
- public class Haushaltsbuch {
- public enum RechnungsobjektTyp {
- Gehalt,
- Aktien,
- Lebensmittel,
- Gesundheit,
- SonstigeE,
- SonstigeA
- }
- private int _jahr;
- private String _monat;
- // Oberkategorien
- private ArrayList<Rechnungsobjekte> _einnahmen = new ArrayList<Rechnungsobjekte>();
- private ArrayList<Rechnungsobjekte> _ausgaben = new ArrayList<Rechnungsobjekte>();
- // Unterkategorien der Unterkategorien
- // Einnahmen
- private Rechnungsobjekte _gehalt = new Rechnungsobjekte();
- private Rechnungsobjekte _aktien = new Rechnungsobjekte();
- private Rechnungsobjekte _sonstigeE = new Rechnungsobjekte();
- // Ausgaben
- private Rechnungsobjekte _sonstigeA = new Rechnungsobjekte();
- private Rechnungsobjekte _gesundheit = new Rechnungsobjekte();
- private Rechnungsobjekte _lebensmittel = new Rechnungsobjekte();
- public Haushaltsbuch(int p_jahr, String p_monat) {
- this._jahr = p_jahr;
- this._monat = p_monat;
- System.out.println(this.toString());
- // Einnahmen hinzufügen und direkt konstruieren
- _einnahmen.add(_aktien);
- _einnahmen.add(_gehalt);
- _einnahmen.add(_sonstigeE);
- // Ausgaben hinzufügen und direkt konstruieren
- _ausgaben.add(_gesundheit);
- _ausgaben.add(_lebensmittel);
- _ausgaben.add(_sonstigeA);
- }
- public void protokoll(Rechnungsobjekt pRechnungsobjekt, RechnungsobjektTyp pTyp) {
- switch (pTyp) {
- case Aktien:
- _aktien.add(pRechnungsobjekt);
- break;
- case Gehalt:
- _gehalt.add(pRechnungsobjekt);
- break;
- case Gesundheit:
- _gesundheit.add(pRechnungsobjekt);
- break;
- case Lebensmittel:
- _lebensmittel.add(pRechnungsobjekt);
- break;
- case SonstigeA:
- _sonstigeA.add(pRechnungsobjekt);
- break;
- case SonstigeE:
- _sonstigeE.add(pRechnungsobjekt);
- break;
- default:
- System.out.println("Diese Kategorie gibt es nicht oder Sie haben sie falsch geschrieben");
- break;
- }
- System.out.println(pRechnungsobjekt + " wurde für den _monat " + _monat + " protokolliert.");
- }
- public double brutto() {
- double a = 0;
- double g = 0;
- double s = 0;
- for (Rechnungsobjekt aktie : _aktien) {
- a += aktie.getBetrag();
- }
- for (Rechnungsobjekt gehalt : _gehalt) {
- g += gehalt.getBetrag();
- }
- for (Rechnungsobjekt sonstigeE : _sonstigeE) {
- s += sonstigeE.getBetrag();
- }
- double gesamtbetragE = a + g + s;
- System.out.println("Sie haben in diesem _monat " + gesamtbetragE + "€ brutto erwirtschaftet. [Gehalt=" + g
- + "€, Aktien=" + a + "€, Sonstige Einnahmen=" + s + "€]");
- return gesamtbetragE;
- }
- public double ausgaben() {
- double l = 0;
- double g = 0;
- double s = 0;
- for (Rechnungsobjekt lebensmittel : _lebensmittel) {
- l += lebensmittel.getBetrag();
- }
- for (Rechnungsobjekt gesundheit : _gesundheit) {
- g += gesundheit.getBetrag();
- }
- for (Rechnungsobjekt sonstigeA : _sonstigeA) {
- s += sonstigeA.getBetrag();
- }
- double gesamtbetragA = l + g + s;
- System.out.println("Sie haben in diesem _monat " + gesamtbetragA + "€ ausgegeben. [Lebensmittel=" + l
- + "€, Gesundheit=" + g + "€, Sonstige Ausgaben=" + s + "€]");
- return gesamtbetragA;
- }
- public void netto() {
- double netto = 0;
- netto = brutto() - ausgaben();
- System.out.println("Sie haben nach diesem _monat noch " + netto + "€ zur Verfügung.");
- }
- @Override
- public String toString() {
- return "Haushaltsbuch wurde für " + _monat + " " + _jahr + " erstellt.";
- }
- }
- public class Rechnungsobjekt {
- private double _betrag = 0.0;
- private String _name = "";
- public double getBetrag() {
- return _betrag;
- }
- public void setBetrag(double betrag) {
- _betrag = betrag;
- }
- public String getName() {
- return _name;
- }
- public void setName(String name) {
- _name = name;
- }
- public Rechnungsobjekt(double betrag, String name) {
- _betrag = betrag;
- _name = name;
- }
- @Override
- public String toString() {
- return "Rechnungsobjekt [betrag = " + _betrag + ", name = " + _name + "]";
- }
- }
- public class Rechnungsobjekte extends ArrayList <Rechnungsobjekt> {
- private static final long serialVersionUID = 1L;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement