From 87ed36349c03def605af3eddedc5c1b1120c13ca Mon Sep 17 00:00:00 2001 From: Denys Konovalov Date: Fri, 27 Sep 2024 10:54:08 +0200 Subject: [PATCH] Bibo 27.09.2024 --- Bibliothek.java | 28 ++++++++++ BibliotheksApp.java | 128 ++++++++++++++++++++++++++++++++++++++++++++ Buch.java | 33 ++++++++++++ 3 files changed, 189 insertions(+) create mode 100644 Bibliothek.java create mode 100644 BibliotheksApp.java create mode 100644 Buch.java diff --git a/Bibliothek.java b/Bibliothek.java new file mode 100644 index 0000000..5de6e2f --- /dev/null +++ b/Bibliothek.java @@ -0,0 +1,28 @@ +import java.util.ArrayList; + +public class Bibliothek { + private ArrayList books = new ArrayList<>(); + + public void buchHinzufuegen(Buch buch) { + books.add(buch); + } + + public Buch buchSuchen(String isbn) { + for (Buch buch : books) { + if (buch.ISBN.toLowerCase().equals(isbn.toLowerCase())) { + return buch; + } + } + + return null; + } + + public void alleBuecherAnzeigen() { + for (Buch buch : books) { + buch.buchInfo(); + System.out.println("-".repeat(10)); + } + } + + +} diff --git a/BibliotheksApp.java b/BibliotheksApp.java new file mode 100644 index 0000000..461159c --- /dev/null +++ b/BibliotheksApp.java @@ -0,0 +1,128 @@ +import java.util.Scanner; + +public class BibliotheksApp { + private static Bibliothek bibliothek = new Bibliothek(); + private static Scanner sc = new Scanner(System.in); + public static void main(String[] args) { + System.out.println("-".repeat(20)); + System.out.println("\t Bibliotheksverwaltung\t"); + + boolean stop = false; + while (!stop) { + printAktionen(); + System.out.print("Aktion: "); + String aktion = sc.nextLine(); + switch (aktion.toUpperCase()) { + case "N": + newBuch(); + break; + case "A": + ausleihen(); + break; + case "Z": + zurueckgeben(); + break; + case "I": + suchen(); + break; + case "L": + alleAuflisten(); + break; + case "E": + stop = true; + break; + default: + System.out.println("Falsche Eingabe."); + break; + } + } + } + + private static void printAktionen() { + System.out.println("-".repeat(20)); + System.out.println("Mögliche Aktionen:"); + System.out.println("\t (N) - Neues Buch anlegen"); + System.out.println("\t (A) - Buch ausleihen"); + System.out.println("\t (Z) - Buch zurückgeben"); + System.out.println("\t (I) - Buchinfo ausgeben"); + System.out.println("\t (L) - Alle Bücher auflisten"); + System.out.println("\t (E) - Beenden"); + System.out.println("-".repeat(20)); + } + + private static void newBuch() { + System.out.println("-".repeat(20)); + System.out.print("Titel: "); + String titel = sc.nextLine(); + System.out.print("Autor: "); + String autor = sc.nextLine(); + System.out.print("ISBN: "); + String isbn = sc.nextLine(); + System.out.print("Verfügbar: "); + int count = sc.nextInt(); + sc.nextLine(); + + Buch buch = new Buch(titel, autor, isbn, count); + bibliothek.buchHinzufuegen(buch); + System.out.println("Buch erfolgreich angelegt."); + System.out.println("-".repeat(20)); + } + + private static void ausleihen() { + System.out.println("-".repeat(20)); + System.out.print("ISBN: "); + String isbn = sc.nextLine(); + + Buch buch = bibliothek.buchSuchen(isbn); + if (buch == null) { + System.out.println("Das Buch existiert nicht"); + return; + } + + boolean erfolg = buch.ausleihen(); + if (erfolg) { + System.out.println("Buch erfolgreich ausgeliehen."); + } else { + System.out.println("Das Buch ist derzeit nicht verfügbar."); + } + System.out.println("-".repeat(20)); + } + + private static void zurueckgeben() { + System.out.println("-".repeat(20)); + System.out.print("ISBN: "); + String isbn = sc.nextLine(); + + Buch buch = bibliothek.buchSuchen(isbn); + if (buch == null) { + System.out.println("Das Buch existiert nicht"); + return; + } + + buch.ausleihen(); + System.out.println("Buch erfolgreich zurückgegeben."); + System.out.println("-".repeat(20)); + } + + private static void suchen() { + System.out.println("-".repeat(20)); + System.out.print("ISBN: "); + String isbn = sc.nextLine(); + + Buch buch = bibliothek.buchSuchen(isbn); + if (buch == null) { + System.out.println("Das Buch existiert nicht"); + return; + } + + buch.buchInfo(); + System.out.println("-".repeat(20)); + } + + private static void alleAuflisten() { + System.out.println("-".repeat(20)); + bibliothek.alleBuecherAnzeigen(); + System.out.println("-".repeat(20)); + } +} + \ No newline at end of file diff --git a/Buch.java b/Buch.java new file mode 100644 index 0000000..2b10e2d --- /dev/null +++ b/Buch.java @@ -0,0 +1,33 @@ +public class Buch { + private String title; + private String author; + public String ISBN; + private int count; + + Buch(String newTitle, String newAuthor, String newISBN, int newCount) { + title = newTitle; + author = newAuthor; + ISBN = newISBN; + count = newCount; + } + + public boolean ausleihen() { + if (count > 0) { + count--; + return true; + } else { + return false; + } + } + + public void zurueckgeben() { + count++; + } + + public void buchInfo() { + System.out.printf("Titel: %s\n", title); + System.out.printf("Autor: %s\n", author); + System.out.printf("ISBN: %s\n", ISBN); + System.out.printf("Verfügbar: %s\n", count); + } +}