diff --git a/Bibliotheksverwaltungssystem/ki-ChatGPT/Prompt3.txt b/Bibliotheksverwaltungssystem/ki-ChatGPT/Prompt3.txt deleted file mode 100644 index 8c98a7f..0000000 --- a/Bibliotheksverwaltungssystem/ki-ChatGPT/Prompt3.txt +++ /dev/null @@ -1,54 +0,0 @@ -public ArrayList medienart(String medienart, HashMap medien) { - switch(medienart) { - case "Bücher": - return medien.entrySet().stream() - .filter(t -> t.getValue().getMedium() instanceof Buch) - .map(t -> t.getValue().getMedium()) - .map(t -> ((Buch)t)) - .map(t -> "Eindutige Kennung= " + t.toString()).collect(Collectors.toCollection(ArrayList::new)); - - case "Brettspiele": - return medien.entrySet().stream() - .filter(t -> t.getValue().getMedium() instanceof Brettspiel) - .map(t -> t.getValue().getMedium()) - .map(t -> ((Brettspiel)t)) - .map(t -> "Eindutige Kennung= " + t.toString()).collect(Collectors.toCollection(ArrayList::new)); - - case "Dvds": - return medien.entrySet().stream() - .filter(t -> t.getValue().getMedium() instanceof Dvd) - .map(t -> t.getValue().getMedium()) - .map(t -> ((Dvd)t)) - .map(t -> "Eindutige Kennung= " + t.toString()).collect(Collectors.toCollection(ArrayList::new)); - - case "Cds": - return medien.entrySet().stream() - .filter(t -> t.getValue().getMedium() instanceof Cd) - .map(t -> t.getValue().getMedium()) - .map(t -> ((Cd)t)) - .map(t -> "Eindutige Kennung= " + t.toString()).collect(Collectors.toCollection(ArrayList::new)); - - case "Videospiele": - return medien.entrySet().stream() - .filter(t -> t.getValue().getMedium() instanceof Videospiel) - .map(t -> t.getValue().getMedium()) - .map(t -> ((Videospiel)t)) - .map(t -> "Eindutige Kennung= " + t.toString()) - .collect(Collectors.toCollection(ArrayList::new)); - - default: - return null; - - } - - } - - -kann man das Code igrendwoie zusammenfassung?? - - -Antwort: -a, dein Code kann stark vereinfacht und zusammengefasst werden, indem du redundante Codeblöcke vermeidest. Alle case-Blöcke folgen demselben Muster. Du kannst die Class-Objekte (wie Buch.class, Brettspiel.class, etc.) als Parameter verwenden, um den Vergleich dynamisch zu gestalten. - -Hier ist die überarbeitete und zusammengefasste Version: -Zusammenfassung des Codes \ No newline at end of file diff --git a/Bibliotheksverwaltungssystem/ki-ChatGPT/prompt1.txt b/Bibliotheksverwaltungssystem/ki-ChatGPT/prompt1.txt deleted file mode 100644 index 7dfd01a..0000000 --- a/Bibliotheksverwaltungssystem/ki-ChatGPT/prompt1.txt +++ /dev/null @@ -1,29 +0,0 @@ -private Benutzer findBenutzer(int kartennummer) { - alleBibBenutzer.stream() - .filter(k -> k.getBibAusweis().getKartenNummer() == kartennummer) - - } - -} - -wie kann ich hier Benutzer mit Stream zurückgeben? - -Antwort: -Um in der Methode findBenutzer den Benutzer mit der angegebenen Kartennummer zurückzugeben, - kannst du den stream()-Ansatz verwenden und das Ergebnis filtern. - Schließlich kannst du mit findFirst() das erste (und in diesem Fall das einzige) Element des Streams - abrufen, das die Bedingung erfüllt. Wenn kein Benutzer mit dieser Kartennummer vorhanden ist, könnte findFirst() ein Optional-Objekt ohne Wert zurückgeben. - -Hier ist die angepasste Methode: -private Benutzer findBenutzer(int kartennummer) { - return alleBibBenutzer.stream() - .filter(k -> k.getBibAusweis().getKartenNummer() == kartennummer) - .findFirst() - .orElse(null); // Gibt null zurück, falls kein Benutzer mit der Kartennummer gefunden wurde -} - -Erklärung der Anpassung -stream(): Wandelt die ArrayList in einen Stream um. -filter(...): Filtert den Stream nach Benutzern, deren Kartennummer mit der gesuchten übereinstimmt. -findFirst(): Nimmt das erste Element des Streams, das die Filterbedingung erfüllt. -orElse(null): Gibt null zurück, falls kein Benutzer gefunden wurde. \ No newline at end of file diff --git a/Bibliotheksverwaltungssystem/ki-ChatGPT/prompt2.txt b/Bibliotheksverwaltungssystem/ki-ChatGPT/prompt2.txt deleted file mode 100644 index 1170129..0000000 --- a/Bibliotheksverwaltungssystem/ki-ChatGPT/prompt2.txt +++ /dev/null @@ -1,30 +0,0 @@ -was macht die zeile long überfälligeTage = ausgelieheneMedium.getAusleiheEnde().until(heutigesDatum, ChronoUnit.DAYS); - -führt eine Berechnung durch, die die Anzahl der Tage zwischen dem Ausleihende-Datum (getAusleiheEnde()) und dem heutigen Datum (heutigesDatum) bestimmt. - -Funktionsweise: -getAusleiheEnde(): Diese Methode liefert das Datum, an dem die Ausleihe enden sollte. Es wird davon ausgegangen, dass es ein LocalDate-Objekt zurückgibt. - -.until(heutigesDatum, ChronoUnit.DAYS): Diese Methode berechnet die Anzahl der Tage von getAusleiheEnde() bis heutigesDatum (heutiges Datum). - -Wenn heutigesDatum nach getAusleiheEnde() liegt, ist das Ergebnis positiv und gibt die Anzahl der Tage an, die das Medium überfällig ist. -Wenn heutigesDatum vor getAusleiheEnde() liegt, ist das Ergebnis negativ, da die Ausleihe noch nicht beendet ist. -Bedeutung des Ergebnisses: -Positiver Wert: Die Ausleihe ist um die berechneten Tage überfällig. -Null: Das heutige Datum ist das gleiche wie das Ende-Datum der Ausleihe. -Negativer Wert: Die Ausleihe läuft noch, und das Medium ist in |überfälligeTage| Tagen fällig. -Beispiel: -Angenommen, heutigesDatum = 2024-11-19 und getAusleiheEnde() = 2024-11-15: - -Differenz = 2024-11-15.until(2024-11-19, ChronoUnit.DAYS) = 4 -Das Medium ist 4 Tage überfällig. -Wenn stattdessen getAusleiheEnde() = 2024-11-22: - -Differenz = 2024-11-22.until(2024-11-19, ChronoUnit.DAYS) = -3 -Das Medium ist in 3 Tagen fällig. -Anwendung: -Die Variable überfälligeTage kann genutzt werden, um Logik zu implementieren wie: - -Zusätzliche Gebühren für überfällige Medien. -Erinnerungen für Nutzer bei bevorstehenden Fälligkeiten. -Filtern von Ausleihen, die überfällig oder bald fällig sind. \ No newline at end of file