Nach Tests anpassung um Programm funktional zu machen

development
Leon Maximilian Löhle 2024-11-18 21:26:07 +01:00
parent cf66cc6bd2
commit f29119eb09
16 changed files with 52 additions and 30 deletions

View File

@ -47,25 +47,29 @@ public class Bibliotheksverwaltung {
}
public void medienAusleihen(String medienId) {
if (eingeloggterBenutzer == null || !(eingeloggterBenutzer instanceof Kunde)) {
System.out.println("Bitte loggen Sie sich als Kunde ein, um Medien auszuleihen.");
medienId = medienId.trim().toUpperCase(); // Normalisierung
Medien medien = medienBestand.get(medienId);
if (medien == null) {
System.out.println("Medium mit der ID " + medienId + " wurde nicht gefunden.");
return;
}
Medien medien = medienBestand.get(medienId);
if (medien == null) {
System.out.println("Medium nicht gefunden.");
if (!medien.verfuegbar()) {
System.out.println("Das Medium ist bereits ausgeliehen.");
return;
}
if (!(eingeloggterBenutzer instanceof Kunde)) {
System.out.println("Nur Kunden können Medien ausleihen.");
return;
}
Kunde kunde = (Kunde) eingeloggterBenutzer;
if (medien.verfuegbar()) {
kunde.medienAusleihen(medien);
medien.setVerfuegbar(false);
System.out.println("Medium erfolgreich ausgeliehen: " + medien.getTitel());
} else {
System.out.println("Medium ist bereits ausgeliehen.");
}
}
public void medienZurueckgeben(String medienId, String kundenId) {
Medien medien = medienBestand.get(medienId);
Kunde kunde = kundenListe.get(kundenId);
@ -104,8 +108,13 @@ public class Bibliotheksverwaltung {
}
public void medienHinzufuegen(Medien medien) {
medienBestand.put(medien.getId(), medien);
System.out.println("Medium hinzugefügt: " + medien.getTitel());
String id = medien.getId().trim().toUpperCase(); // Normalisierung
if (medienBestand.containsKey(id)) {
System.out.println("Ein Medium mit dieser ID existiert bereits: " + id);
return;
}
medienBestand.put(id, medien);
System.out.println("Medium hinzugefügt: " + medien.getTitel() + " (ID: " + id + ")");
}
public boolean loginKunde(String kundenId) {

View File

@ -4,7 +4,7 @@ public class Brettspiel extends Medien {
private int spieleranzahl;
private int spieldauer;
public Brettspiel(String id, String titel, int erscheinungsjahr, int spieleranzahl, int spieldauer) {
public Brettspiel(String titel, String id, int erscheinungsjahr, int spieleranzahl, int spieldauer) {
super(id, titel, erscheinungsjahr);
this.spieleranzahl = spieleranzahl;
this.spieldauer = spieldauer;

View File

@ -4,8 +4,8 @@ public class Buch extends Medien {
private String autor;
private int seitenanzahl;
public Buch(String id, String titel, int erscheinungsjahr, String autor, int seitenanzahl) {
super(id, titel, erscheinungsjahr);
public Buch(String titel, String id, int erscheinungsjahr, String autor, int seitenanzahl) {
super(titel ,id, erscheinungsjahr);
this.autor = autor;
this.seitenanzahl = seitenanzahl;
}

View File

@ -4,8 +4,8 @@ public class CD extends Medien {
private String kuenstler;
private int tracks;
public CD(String id, String titel, int erscheinungsjahr, String kuenstler, int tracks) {
super(id, titel, erscheinungsjahr);
public CD(String titel, String id, int erscheinungsjahr, String kuenstler, int tracks) {
super(titel, id, erscheinungsjahr);
this.kuenstler = kuenstler;
this.tracks = tracks;
}

View File

@ -4,8 +4,8 @@ public class DVD extends Medien {
private String regisseur;
private int spieldauer;
public DVD(String id, String titel, int erscheinungsjahr, String regisseur, int spieldauer) {
super(id, titel, erscheinungsjahr);
public DVD(String titel, String id, int erscheinungsjahr, String regisseur, int spieldauer) {
super(titel, id, erscheinungsjahr);
this.regisseur = regisseur;
this.spieldauer = spieldauer;
}

View File

@ -2,7 +2,6 @@ package Bibliothek;
public class Main {
public static void main(String[] args) {
Bibliotheksverwaltung verwaltung = new Bibliotheksverwaltung();
Kunde kunde1 = new Kunde("S001", "Max Mustermann", true);
@ -13,12 +12,27 @@ public class Main {
Admin admin = new Admin("A001", "Anna Schmidt");
verwaltung.getAdminListe().put(admin.getId(), admin);
Medien buch = new Buch("B001", "Der Herr der Ringe", 1954, "J.R.R. Tolkien", 1200);
Medien dvd = new DVD("D001", "Inception", 2010, "Christopher Nolan", 148);
verwaltung.medienHinzufuegen(buch);
verwaltung.medienHinzufuegen(dvd);
Medien buch1 = new Buch("Der Herr der Ringe", "B001", 1954, "J.R.R. Tolkien", 1200);
Medien buch2 = new Buch("Game of Thrones 1: Der Winter naht", "B002", 1996, "George R.R. Martin", 576);
Medien buch3 = new Buch("Harry Potter and the Prisoner of Azkaban", "B003", 2014, "J.K. Rowling", 480);
Medien dvd1 = new DVD("Inception", "D001", 2010, "Christopher Nolan", 148);
Medien dvd2 = new DVD("Batman 'The Dark Knight'", "D002", 2008, "Christopher Nolan", 152);
Medien dvd3 = new DVD("Star Wars: Episode 3 'Die Rache der Sith'", "D003", 2005, "George Lucas", 140);
Medien cd1 = new CD("Black Ice", "CD001", 2001, "ACDC", 15);
Medien cd2 = new CD("From Zero", "CD002", 2024, "Linkin Park", 11);
Medien cd3 = new CD("The War to end all Wars", "CD003", 2022, "Sabaton", 10);
verwaltung.medienHinzufuegen(buch1);
verwaltung.medienHinzufuegen(buch2);
verwaltung.medienHinzufuegen(buch3);
verwaltung.medienHinzufuegen(dvd1);
verwaltung.medienHinzufuegen(dvd2);
verwaltung.medienHinzufuegen(dvd3);
verwaltung.medienHinzufuegen(cd1);
verwaltung.medienHinzufuegen(cd2);
verwaltung.medienHinzufuegen(cd3);
// Starte UI
UI tui = new UI(verwaltung);
tui.start();
}

View File

@ -90,7 +90,6 @@ public class UI {
boolean istStudent = studentAntwort.equals("ja");
Kunde neuerKunde = verwaltung.registriereKunde(name, istStudent);
System.out.println("Neuer Kunde registriert: " + neuerKunde.getName() + " (ID: " + neuerKunde.getId() + ")");
}
@ -118,7 +117,7 @@ public class UI {
return;
}
System.out.print("Medium-ID eingeben: ");
String medienId = scanner.nextLine();
String medienId = scanner.nextLine().trim();
verwaltung.medienAusleihen(medienId);
}

View File

@ -4,7 +4,7 @@ public class Videospiel extends Medien {
private String plattform;
private String entwickler;
public Videospiel(String id, String titel, int erscheinungsjahr, String plattform, String entwickler) {
public Videospiel(String titel, String id, int erscheinungsjahr, String plattform, String entwickler) {
super(id, titel, erscheinungsjahr);
this.plattform = plattform;
this.entwickler = entwickler;