Bibo 27.09.2024

This commit is contained in:
Denys Konovalov 2024-09-27 10:54:08 +02:00
parent 6acee61f08
commit 87ed36349c
3 changed files with 189 additions and 0 deletions

28
Bibliothek.java Normal file

@ -0,0 +1,28 @@
import java.util.ArrayList;
public class Bibliothek {
private ArrayList<Buch> 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));
}
}
}

128
BibliotheksApp.java Normal file

@ -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));
}
}

33
Buch.java Normal file

@ -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);
}
}