From 148328772e86448f967f21199c05edafb2b18f45 Mon Sep 17 00:00:00 2001 From: Zabih Mansuri <3010192@stud.hs-mannheim.de> Date: Tue, 19 Nov 2024 16:48:39 +0100 Subject: [PATCH] fertig. --- Benutzer.java | 4 +- Main.java | 2 +- Medien.java | 8 +- Ui.java | 175 ++++++++++++--------------- Verwaltung.java | 7 +- out/production/Bib1/Benutzer.class | Bin 2228 -> 2228 bytes out/production/Bib1/Ui.class | Bin 11598 -> 11473 bytes out/production/Bib1/Verwaltung.class | Bin 8178 -> 8157 bytes 8 files changed, 90 insertions(+), 106 deletions(-) diff --git a/Benutzer.java b/Benutzer.java index 8ca44e4..b48fbf0 100644 --- a/Benutzer.java +++ b/Benutzer.java @@ -1,4 +1,4 @@ -class Benutzer { +abstract class Benutzer { private String name; private String nachname; private int kundennummer; @@ -7,7 +7,7 @@ class Benutzer { private double gebuehren; // Aktuelle ausstehende Gebühren des Benutzers // Konstruktor - public Benutzer(String name, String nachname, int kundennummer, String art) { + public Benutzer(String name, String nachname, int kundennummer, String art) { this.name = name; this.nachname = nachname; this.kundennummer = kundennummer; diff --git a/Main.java b/Main.java index 2cb7082..99ca5a4 100644 --- a/Main.java +++ b/Main.java @@ -15,7 +15,7 @@ public class Main { verwaltung.mediensListe.add(creator.factoryMedien("Minecraft", "Mojang", 9, "videospiel", 0)); verwaltung.mediensListe.add(creator.factoryMedien("The Witcher 3", "CD Projekt", 10, "videospiel", 0)); - // Ui mit der Verwaltung-Instanz initialisieren + // Ui mit der Verwaltung-Instanz initialisieren7 Ui ui = new Ui(verwaltung); ui.anmeldung(); } diff --git a/Medien.java b/Medien.java index 5b9f1d0..4899c6e 100644 --- a/Medien.java +++ b/Medien.java @@ -100,7 +100,7 @@ public abstract class Medien implements Ausleihbar { private String regisseur; public Dvds(String name, String regisseur, int id) { - super(name, id, 1, 0); // Frist für DVDs ist 1 Woche, keine Verlängerung möglich + super(name, id, 7, 0); // Frist für DVDs ist 1 Woche, keine Verlängerung möglich this.regisseur = regisseur; } @@ -118,7 +118,7 @@ public abstract class Medien implements Ausleihbar { // Unterklasse für CDs public static class Cds extends Medien { public Cds(String name, int id) { - super(name, id, 2, 0); // Frist für CDs ist 2 Wochen, keine Verlängerung möglich + super(name, id, 14, 0); // Frist für CDs ist 2 Wochen, keine Verlängerung möglich } @Override @@ -130,7 +130,7 @@ public abstract class Medien implements Ausleihbar { // Unterklasse für Brettspiele public static class Brettspiel extends Medien { public Brettspiel(String name, int id) { - super(name, id, 2, 0); // Frist für Brettspiele ist 2 Wochen, keine Verlängerung möglich + super(name, id, 14, 0); // Frist für Brettspiele ist 2 Wochen, keine Verlängerung möglich } @Override @@ -144,7 +144,7 @@ public abstract class Medien implements Ausleihbar { private String entwickler; public Videospiel(String name, String entwickler, int id) { - super(name, id, 4, 1); // Frist für Videospiele ist 4 Wochen, einmal verlängerbar + super(name, id, 28, 1); // Frist für Videospiele ist 4 Wochen, einmal verlängerbar this.entwickler = entwickler; } diff --git a/Ui.java b/Ui.java index 58ff9ad..d24bba4 100644 --- a/Ui.java +++ b/Ui.java @@ -1,12 +1,14 @@ import java.time.LocalDate; -import java.util.*; import java.time.temporal.ChronoUnit; +import java.util.*; public class Ui { private final Scanner scanner = new Scanner(System.in); private final Verwaltung verwaltung; - // Konstruktor, der eine Verwaltung-Instanz annimmt + // Zeitversatz für Tests + private LocalDate aktuelleZeit = LocalDate.now(); + public Ui(Verwaltung verwaltung) { this.verwaltung = verwaltung; } @@ -23,20 +25,22 @@ public class Ui { System.out.println("6: Verbuchen von überfälligen Gebühren (Admin)"); System.out.println("7: Registrieren"); System.out.println("8: Anmelden"); + System.out.println("9: Zeit verschieben (Testoption)"); System.out.println("0: Programm beenden"); int menue = scanner.nextInt(); scanner.nextLine(); // Leert den Puffer nach nextInt() switch (menue) { - case 1 -> suchenNachMedien(); // Keine Anmeldung erforderlich + case 1 -> suchenNachMedien(); case 2 -> ausleihen(); case 3 -> rueckgabeDurchfuehren(); case 4 -> gebuehrenEinsehen(); case 5 -> verlaengern(); case 6 -> adminrechte(); - case 7 -> registrieren(); // Registrieren - case 8 -> anmelden(); // Anmelden + case 7 -> registrieren(); + case 8 -> anmelden(); + case 9 -> zeitVerschieben(); case 0 -> { System.out.println("Programm wird beendet. Auf Wiedersehen!"); running = false; @@ -60,29 +64,22 @@ public class Ui { System.out.print(medien.getName()); if (medien.istAusgeliehen) { - // Wenn das Medium ausgeliehen ist, gibt es das Rückgabedatum an Optional ausleiheOpt = verwaltung.ausliste.stream() .filter(ausleihe -> ausleihe.getMedien().equals(medien)) .findFirst(); if (ausleiheOpt.isPresent()) { Aausleihe ausleihe = ausleiheOpt.get(); - LocalDate rueckgabedatum = ausleihe.getDate().plusWeeks(medien.frist); // Berechnet das Rückgabedatum + LocalDate rueckgabedatum = ausleihe.getDate().plusWeeks(medien.frist); System.out.println(" ist ausgeliehen. Rückgabedatum: " + rueckgabedatum); } } else { System.out.println(" ist verfügbar."); } - - // Hier können noch weitere Details zum Medium ausgegeben werden, falls erforderlich - System.out.println("Typ: " + medien.getClass().getSimpleName()); // Zeigt den Typ des Mediums an - // Weitere Details wie Autor, Jahr, etc. je nach Medium-Typ könnten hier hinzugefügt werden } } } - - // Registrierungsmethode private void registrieren() { System.out.print("Geben Sie Ihren Vornamen ein: "); String name = scanner.nextLine(); @@ -93,21 +90,17 @@ public class Ui { System.out.print("Für Student geben Sie 's' und für Erwachsener 'e' ein: "); String artInput = scanner.nextLine(); - // Generiere eine neue, eindeutige Kundennummer int genkundennummer = verwaltung.generiereEindeutigeKundennummer(); - - // Erstelle einen neuen Benutzer Benutzer neuerBenutzer = Creator.factoryBenutzer(name, nachname, genkundennummer, artInput.toLowerCase()); if (neuerBenutzer != null) { - verwaltung.benutzerListe.add(neuerBenutzer); // Benutzer zur Verwaltungsliste hinzufügen + verwaltung.benutzerListe.add(neuerBenutzer); System.out.println("Registrierung erfolgreich! Ihre Kundennummer lautet: " + genkundennummer); } else { System.out.println("Ungültige Art. Versuchen Sie es erneut."); } } - // Anmeldemethode private Benutzer anmelden() { System.out.print("Geben Sie Ihre Kundennummer zur Anmeldung ein: "); int eingabeKundennummer = scanner.nextInt(); @@ -126,7 +119,6 @@ public class Ui { } } - // Ausleihen eines Mediums private void ausleihen() { Benutzer benutzer = anmelden(); if (benutzer == null) { @@ -145,8 +137,7 @@ public class Ui { if (optionalMedien.isPresent()) { Medien medien = optionalMedien.get(); if (!medien.istAusgeliehen()) { - LocalDate heute = LocalDate.now(); - verwaltung.addAL(medien, benutzer, heute, null); + verwaltung.addAL(medien, benutzer, aktuelleZeit, null); System.out.println("Das Medium wurde erfolgreich ausgeliehen."); } else { System.out.println("Das Medium ist bereits ausgeliehen."); @@ -156,7 +147,6 @@ public class Ui { } } - // Rückgabe eines Mediums private void rueckgabeDurchfuehren() { Benutzer benutzer = anmelden(); if (benutzer == null) { @@ -173,34 +163,7 @@ public class Ui { .findFirst(); if (optionalMedien.isPresent()) { - Medien medien = optionalMedien.get(); - - // Benutzer nach einem Rückgabedatum fragen - System.out.println("Aktuelles Rückgabedatum: " + LocalDate.now()); - System.out.print("Möchten Sie das Rückgabedatum ändern? (ja/nein): "); - String antwort = scanner.nextLine(); - - LocalDate rueckgabedatum; - if (antwort.equalsIgnoreCase("ja")) { - // Benutzer nach einem neuen Rückgabedatum fragen - System.out.print("Geben Sie das Rückgabedatum im Format JJJJ-MM-TT ein: "); - String datumInput = scanner.nextLine(); - - // Versuch, das Datum zu parsen - try { - rueckgabedatum = LocalDate.parse(datumInput); - System.out.println("Das Rückgabedatum wurde auf " + rueckgabedatum + " gesetzt."); - } catch (Exception e) { - System.out.println("Ungültiges Datum. Rückgabe wird mit dem heutigen Datum durchgeführt."); - rueckgabedatum = LocalDate.now(); // Standard auf das heutige Datum - } - } else { - // Standardmäßig wird das heutige Datum verwendet - rueckgabedatum = LocalDate.now(); - } - - // Rückgabe durchführen - verwaltung.rueckgabe(id, benutzer, rueckgabedatum); + verwaltung.rueckgabe(id, benutzer, aktuelleZeit); System.out.println("Das Medium wurde erfolgreich zurückgegeben."); } else { System.out.println("Medium mit dieser ID nicht gefunden."); @@ -208,45 +171,6 @@ public class Ui { } - private void gebuehrenEinsehen() { - Benutzer benutzer = anmelden(); - if (benutzer == null) { - System.out.println("Sie müssen sich zuerst anmelden."); - return; - } - - System.out.println("Ihre ausstehenden Gebühren:"); - - // Liste der ausgeliehenen Medien des Benutzers - List ausleihen = verwaltung.getAusleihenByBenutzer(benutzer); - - if (ausleihen.isEmpty()) { - System.out.println("Sie haben keine ausgeliehenen Medien."); - return; - } - - // Aktuelles Datum - LocalDate heute = LocalDate.now(); - - // Durchlaufe alle ausgeliehenen Medien und berechne mögliche Gebühren - for (Aausleihe ausleihe : ausleihen) { - Medien medien = ausleihe.getMedien(); - LocalDate faelligkeitsdatum = ausleihe.getDate().plusWeeks(medien.frist); // Annahme: `frist` gibt die Leihfrist in Wochen an - - double gebuehr = 0; - if (heute.isAfter(faelligkeitsdatum)) { - long ueberfaelligeWochen = ChronoUnit.WEEKS.between(faelligkeitsdatum, heute); - gebuehr = ueberfaelligeWochen * 2.0; // Beispiel: 2 EUR pro überfälliger Woche - } - - // Gebühr und Fälligkeitsdatum ausgeben - System.out.println("Medium: " + medien.getName() + - ", Fälligkeitsdatum: " + faelligkeitsdatum + - ", Überfällige Wochen: " + (heute.isAfter(faelligkeitsdatum) ? ChronoUnit.WEEKS.between(faelligkeitsdatum, heute) : 0) + - ", Gebühr: " + gebuehr + " EUR"); - } - } - private void verlaengern() { Benutzer benutzer = anmelden(); if (benutzer == null) { @@ -282,24 +206,85 @@ public class Ui { } else { System.out.println("Falsche Admin-Zugangsdaten."); } + System.out.println("möchten sie zahlungen löschem geben sie benutzer id ein"); + int id=scanner.nextInt(); + + } private void verbucheUeberfaelligeGebuehren() { System.out.println("Verbuchen überfälliger Gebühren:"); - LocalDate heute = LocalDate.now(); - for (Aausleihe ausleihe : verwaltung.ausliste) { Medien medien = ausleihe.getMedien(); Benutzer benutzer = ausleihe.getBenutzer(); - LocalDate faelligkeitsdatum = ausleihe.getDate().plusWeeks(medien.frist); + LocalDate faelligkeitsdatum = ausleihe.getDate().plusDays(medien.frist); - if (heute.isAfter(faelligkeitsdatum)) { - long ueberfaelligeWochen = ChronoUnit.WEEKS.between(faelligkeitsdatum, heute); - double gebuehr = ueberfaelligeWochen * 2.0; // Beispiel: 2 EUR pro Woche überfällig + if (aktuelleZeit.isAfter(faelligkeitsdatum)) { + long ueberfaelligeWochen = ChronoUnit.DAYS.between(faelligkeitsdatum, aktuelleZeit); + double gebuehr = ueberfaelligeWochen; System.out.println("Benutzer: " + benutzer.getName() + ", Medium: " + medien.getName() + ", Überfällige Wochen: " + ueberfaelligeWochen + ", Gebühr: " + gebuehr + " EUR"); } } } + private void gebuehrenEinsehen() { + Benutzer benutzer = anmelden(); + if (benutzer == null) { + System.out.println("Sie müssen sich zuerst anmelden."); + return; + } + + System.out.println("Ihre ausstehenden Gebühren:"); + List ausleihen = verwaltung.getAusleihenByBenutzer(benutzer); + + if (ausleihen.isEmpty()) { + System.out.println("Sie haben keine ausgeliehenen Medien."); + return; + } + + boolean hatAusgelieheneMedien = false; + + for (Aausleihe ausleihe : ausleihen) { + Medien medien = ausleihe.getMedien(); + + // Prüfen, ob das Medium ausgeliehen ist + if (!medien.istAusgeliehen()) { + continue; // Überspringt Medien, die nicht ausgeliehen sind + } + + hatAusgelieheneMedien = true; // Mindestens ein Medium ist ausgeliehen + + LocalDate faelligkeitsdatum = ausleihe.getDate().plusWeeks(medien.frist); + double gebuehr = 0; + + // Gebühren berechnen, wenn das Medium überfällig ist + if (aktuelleZeit.isAfter(faelligkeitsdatum)) { + long ueberfaelligeTage = ChronoUnit.DAYS.between(faelligkeitsdatum, aktuelleZeit); + gebuehr = ueberfaelligeTage * 2.0; // 2 EUR pro überfälligem Tag + } + + // Details zum Medium ausgeben + System.out.println("Medium: " + medien.getName() + + ", Fälligkeitsdatum: " + faelligkeitsdatum + + ", Gebühr: " + gebuehr + " EUR"); + } + + if (!hatAusgelieheneMedien) { + System.out.println("Sie haben keine ausgeliehenen Medien."); + } + } + + private void zeitVerschieben() { + System.out.println("Aktuelles Datum: " + aktuelleZeit); + System.out.print("Geben Sie das neue Datum im Format JJJJ-MM-TT ein: "); + String neuesDatum = scanner.nextLine(); + + try { + aktuelleZeit = LocalDate.parse(neuesDatum); + System.out.println("Die Zeit wurde erfolgreich auf " + aktuelleZeit + " geändert."); + } catch (Exception e) { + System.out.println("Ungültiges Datum. Bitte versuchen Sie es erneut."); + } + } } diff --git a/Verwaltung.java b/Verwaltung.java index 7b2195f..ee277d7 100644 --- a/Verwaltung.java +++ b/Verwaltung.java @@ -89,15 +89,15 @@ public class Verwaltung { // Methode zum Entfernen einer Ausleihe und Berechnung der Dauer - void remov(Medien medien, Benutzer benutzer) { + void remov(Benutzer benutzer) { Aausleihe zuEntfernen = null; // Durchsuchen der Liste nach der passenden Ausleihe for (Aausleihe aausleihe : ausliste) { // Überprüfen, ob das Medium und der Benutzer übereinstimmen - if (aausleihe.getMedien().equals(medien) && aausleihe.getBenutzer().equals(benutzer)) { + if (aausleihe.getBenutzer().equals(benutzer)) { zuEntfernen = aausleihe; // Markieren des zu entfernenden Eintrags - medien.istAusgeliehen = false; // Markiere das Medium als nicht mehr ausgeliehen + aausleihe.getMedien().istAusgeliehen = false; // Markiere das Medium als nicht mehr ausgeliehen break; // Schleife abbrechen, wenn die passende Ausleihe gefunden wurde } } @@ -138,7 +138,6 @@ public class Verwaltung { // Wenn das Medium und der Benutzer übereinstimmen ausleihe.setRueckgabeDatum(rueckgabeDatum); // Setze das Rückgabedatum ausleihe.getMedien().istAusgeliehen = false; // Markiere das Medium als zurückgegeben - System.out.println("Das Medium wurde erfolgreich zurückgegeben."); return; // Methode verlassen, Rückgabe abgeschlossen } } diff --git a/out/production/Bib1/Benutzer.class b/out/production/Bib1/Benutzer.class index bcbc5493492adbfe39825a8a28ddf746d15cb0f5..88c589981d025b58887394c1bae8790881480dad 100644 GIT binary patch delta 14 VcmdlYxJ7V-9xEfuW_{LHW&k1z1L6Px delta 14 VcmdlYxJ7V-9xEfmW_{LHW&k1b1Kt1t diff --git a/out/production/Bib1/Ui.class b/out/production/Bib1/Ui.class index ba2546baed2223c7b4c00f9a2f5637dcfd930651..523d9488eb582dd8812dd6de01e05fe78c58a9df 100644 GIT binary patch delta 3479 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 R3jZq3JhJLtzR$nG|1Zl5AMOAE diff --git a/out/production/Bib1/Verwaltung.class b/out/production/Bib1/Verwaltung.class index 0f737fb790204d1757590796ce5dc75820b235a6..56285be1cb615cf3ac2b1e79179990e0bf041276 100644 GIT binary patch delta 528 zcmX|-ze`(D6vw|O@8!Li1Qmb5%~K;4ZK5wmjnUE=0}j?oQgBfaELMGriVmVnmP|V6 zB3uWbS}0vy3fcxAIO)`(o0C&Z`xg{k6jAJXQM%l7?)TpFIp1@xGe0vYjwXL;4J{sI z{m5fKhyxrF%I2-LoHe^(tq}Z?X!a>D-fE+I@k99z)zwCxwN!S{T3KJqTdS$)Sn+Sg zTVJ6ZL@IzE@W9J)m~!7xaIpC}{!UgiLRiQfAZFjI|qe`eb_i8Jrm^*@Y z^mu80M}Uh>2Or13GD{(s*aknJlgyt&1Evwh3{1=-2@9_#Fpm@#k--w)V41X1fyy5Z z3R4qYYr~|IkE5GaP$h^_L)1b|@K6n_l~5m0rX#OoyW&=Ly+t g^iz+VG76NGzl}QTl{ZFQP6}PimiAvv)SoN=04l&}_W%F@ delta 576 zcmYjOO=}ZT6g_7?LnkH$Kj_O;6O`Ia)3I6`DM__rp~W#4TEVTL8HMV1uOK3ry0 z)yQKOOi`Zw%BO(^9%Tt8_bIj?);9WFv|K!#`~|~PiH2E*k>=WfA$<|DBhQOj269y# ztc|dux`XPk*3F>G5soTGtL0&CBk!WA)XGW?zZGdP1bB>N@|%df<29H${Hb)4>@!4KwNYSD3Y