weitere Verbesserungen, einige prompts hinzugefügt

devIoana
ioana 2024-11-18 23:35:17 +01:00
parent 94572b5334
commit beae8953c7
2 changed files with 32 additions and 23 deletions

View File

@ -0,0 +1,14 @@
ich: erstelle eine Methode, die das Medienkatalog nach Titel, medienart und ob es ausgeliehen ist durchsucht
AI: Hier ist die Methode durchsuchenMedien(String titelTeil, String medienart, Boolean istAusgeliehen),
die das Medienkatalog nach Titel, medienart und ob es ausgeliehen ist durchsucht
Java Code:
// Durchsuchen der Medien nach einem Titel (Teilstring) und Filterung nach Eigenschaften
public List<Medium> durchsuchenMedien(String titelTeil, String medienart, Boolean istAusgeliehen) {
return medien.stream()
.filter(m -> m.getTitel().toLowerCase().contains(titelTeil.toLowerCase())) // Titel-Filter
.filter(m -> medienart == null || m.getMedienart().equalsIgnoreCase(medienart)) // Medienart-Filter
.filter(m -> istAusgeliehen == null || m.istAusgeliehen() == istAusgeliehen) // Ausleihstatus-Filter
.collect(Collectors.toList());
}

View File

@ -78,6 +78,7 @@ public class BibliothekSystem {
} }
// Durchsuchen der Medien nach einem Titel (Teilstring) und Filterung nach Eigenschaften // Durchsuchen der Medien nach einem Titel (Teilstring) und Filterung nach Eigenschaften
//Von AI generiert
public void durchsuchenMedien(String titelTeil, String medienart) { public void durchsuchenMedien(String titelTeil, String medienart) {
List medienliste = medienListe.stream() List medienliste = medienListe.stream()
.filter(m -> m.getTitel().toLowerCase().contains(titelTeil.toLowerCase())) // Titel-Filter .filter(m -> m.getTitel().toLowerCase().contains(titelTeil.toLowerCase())) // Titel-Filter
@ -198,6 +199,23 @@ public class BibliothekSystem {
} }
} }
//Methode zum Berechnen der overdue-Gebühren
//Von AI generiert
public double rechneOverdueGebuehren(long overdueTagen) {
if (overdueTagen <= 0){
return 0;
}
if (overdueTagen <= 7){
return overdueTagen * 1.0; //1 euro pro Tag für die ersten 7 Tage
}
return (7*1.0) + ((overdueTagen - 7) * 2.0); // 2 euro pro Tag ab dem 8. Tag
}
//------------Hilfsmethoden-----------------------
//Methode zum Finden eines Benutzers //Methode zum Finden eines Benutzers
public Benutzer findeBenutzer(String kartennummer) { public Benutzer findeBenutzer(String kartennummer) {
return benutzerListe.get(Integer.parseInt(kartennummer)); return benutzerListe.get(Integer.parseInt(kartennummer));
@ -212,7 +230,6 @@ public class BibliothekSystem {
.orElse(null); .orElse(null);
} }
//Methode, um das Systemdatum zu setzen //Methode, um das Systemdatum zu setzen
public void setAktuellesDatum(Date manuellesDatum) { public void setAktuellesDatum(Date manuellesDatum) {
this.aktuellesDatum = manuellesDatum; this.aktuellesDatum = manuellesDatum;
@ -233,28 +250,6 @@ public class BibliothekSystem {
System.out.println("Benutzer registriert: " + benutzer + ", Jahresgebühr: " + jahresgebuehr); System.out.println("Benutzer registriert: " + benutzer + ", Jahresgebühr: " + jahresgebuehr);
} }
/*public void zeigeGebuehren(Benutzer benutzer) {
benutzer.aktualisiereGebuehren(aktuellesDatum);
if (benutzer.sindGebuehrenBezahlt()) {
System.out.println("Alle Gebühren von " + benutzer.getName() + " sind bezahlt.");
} else {
System.out.println("Aktuelle Gebühren für " + benutzer.getName() + ": " + benutzer.getOffeneGebuehren() + "€");
}
}*/
//Methode zum Berechnen der overdue-Gebühren
//Von AI generiert
public double rechneOverdueGebuehren(long overdueTagen) {
if (overdueTagen <= 0){
return 0;
}
if (overdueTagen <= 7){
return overdueTagen * 1.0; //1 euro pro Tag für die ersten 7 Tage
}
return (7*1.0) + ((overdueTagen - 7) * 2.0); // 2 euro pro Tag ab dem 8. Tag
}
} }