weitere Verbesserungen, einige prompts hinzugefügt
parent
94572b5334
commit
beae8953c7
|
@ -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());
|
||||||
|
}
|
|
@ -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
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue