Compare commits

..

3 Commits

8 changed files with 56 additions and 41 deletions

View File

@ -52,7 +52,7 @@ public class UI {
String kartennummer = scanner.nextLine();
Benutzer benutzer = system.anmelden(kartennummer);
if (benutzer != null) {
System.out.println("Willkommen! Erfolgreich angemeldet als: " + benutzer.getName());
System.out.println("Willkommen! Erfolgreich angemeldet als: " + benutzer.getName() + ".");
} else {
System.out.println("Flasche Kartennummer. Bitte erneut versuchen!");
}
@ -97,10 +97,11 @@ public class UI {
//6. Verlängern der Leihfrist
private void verlaengernLeihfrist() {
System.out.println("Bitte melden Sie sich mit der Kartennummer ein: ");
String kartennummer = scanner.nextLine();
System.out.print("Bitte geben Sie die ID des Mediums ein, dessen Leihfrist Sie verlängern möchten: ");
String mediumId = scanner.nextLine();
System.out.println("Leihfrist für Medium mit ID " + mediumId + " verlängert.");
// Logik zur Verlängerung der Leihfrist hinzufügen
system.verlaengernMedium(kartennummer,mediumId);
}
//7. Admin-Login

View File

@ -4,8 +4,8 @@ package LibrarySystem.domain.medien;
public class Brettspiel extends Medium {
private static final int AUSLEIHDAUER = 14; // 2 Wochen
public Brettspiel(String ID, String titel, String autor, int erscheinungsjahr, String medienart) {
super(ID, titel, autor, erscheinungsjahr, medienart);
public Brettspiel(String ID, String titel, String autor, int erscheinungsjahr, String medienart, int verlaengerungen) {
super(ID, titel, autor, erscheinungsjahr, medienart, verlaengerungen);
}
@ -20,8 +20,9 @@ public class Brettspiel extends Medium {
}
@Override
public void verlaengern() {
public int verlaengern() {
System.out.println("Brettspiele können nicht verlängert werden.");
return 0;
}
}

View File

@ -4,10 +4,10 @@ package LibrarySystem.domain.medien;
public class Buch extends Medium {
private static final int AUSLEIHDAUER = 28; //4 Wochen in Tagen
private int verlaengerungen = 3;
//private int verlaengerungenBuch = 3;
public Buch(String ID, String titel, String autor, int erscheinungsjahr, String medienart) {
super(ID, titel, autor, erscheinungsjahr, medienart);
public Buch(String ID, String titel, String autor, int erscheinungsjahr, String medienart, int verlaengerungen) {
super(ID, titel, autor, erscheinungsjahr, medienart, verlaengerungen);
}
@ -22,13 +22,14 @@ public class Buch extends Medium {
}
@Override
public void verlaengern() {
public int verlaengern() {
if (istVerlaengerbar()) {
verlaengerungen--;
rechneRueckgabedatum(); //Verlängerung
} else{
System.out.println("Keine Verlängerung mehr möglich.");
}
return verlaengerungen;
}

View File

@ -3,8 +3,8 @@ package LibrarySystem.domain.medien;
public class CD extends Medium {
public static final int AUSLEIHDAUER = 14; // 2 Wochen
public CD(String ID, String titel, String autor, int erscheinungsjahr, String medienart) {
super(ID, titel, autor, erscheinungsjahr, medienart);
public CD(String ID, String titel, String autor, int erscheinungsjahr, String medienart, int verlaengerungen) {
super(ID, titel, autor, erscheinungsjahr, medienart, verlaengerungen);
}
@ -19,8 +19,9 @@ public class CD extends Medium {
}
@Override
public void verlaengern() {
public int verlaengern() {
System.out.println("CDs können nicht verlängert werden.");
return 0;
}
}

View File

@ -3,8 +3,8 @@ package LibrarySystem.domain.medien;
public class DVD extends Medium {
private static final int AUSLEIHDAUER = 7; // 1 Woche
public DVD(String ID, String titel, String autor, int erscheinungsjahr, String medienart) {
super(ID, titel, autor, erscheinungsjahr, medienart);
public DVD(String ID, String titel, String autor, int erscheinungsjahr, String medienart, int verlaengerungen) {
super(ID, titel, autor, erscheinungsjahr, medienart, verlaengerungen);
}
@ -19,8 +19,9 @@ public class DVD extends Medium {
}
@Override
public void verlaengern() {
public int verlaengern() {
System.out.println("DVDs können nicht verlängert werden.");
return 0;
}

View File

@ -13,14 +13,16 @@ public abstract class Medium implements Ausleihbar{
private String medienart;
private boolean ausgeliehen;
private Date rueckgabedatum;
public int verlaengerungen;
public Medium(String ID, String titel, String autor, int erscheinungsjahr, String medienart) {
public Medium(String ID, String titel, String autor, int erscheinungsjahr, String medienart, int verlaengerungen) {
this.ID = ID;
this.titel = titel;
this.autor = autor;
this.erscheinungsjahr = erscheinungsjahr;
this.medienart = medienart;
this.ausgeliehen = false;
this.verlaengerungen =verlaengerungen;
}
@ -56,7 +58,8 @@ public abstract class Medium implements Ausleihbar{
public void setRueckgabe(){this.ausgeliehen = false;}
public Date getRueckgabedatum(){return rueckgabedatum;}
public void setRueckgabedatum(Date rueckgabedatum){this.rueckgabedatum = rueckgabedatum;}
public int getVerlaengerungen() {return verlaengerungen;}
public void setVerlaengerungen(int verlaengerungen) {}
//Andere nützliche Methoden
public Date rechneRueckgabedatum(){
@ -69,7 +72,7 @@ public abstract class Medium implements Ausleihbar{
//Abstrakte Methoden
public abstract int getAusleihdauer();
public abstract boolean istVerlaengerbar();
public abstract void verlaengern();
public abstract int verlaengern();
@Override
public void ausleihen() {

View File

@ -2,10 +2,9 @@ package LibrarySystem.domain.medien;
public class Videospiel extends Medium {
private static final int AUSLEIHDAUER = 28; // 4 Wochen
private int verlaengerungen = 1;
public Videospiel(String ID, String titel, String autor, int erscheinungsjahr, String medienart) {
super(ID, titel, autor, erscheinungsjahr, medienart);
public Videospiel(String ID, String titel, String autor, int erscheinungsjahr, String medienart, int verlaengerungen) {
super(ID, titel, autor, erscheinungsjahr, medienart, verlaengerungen);
}
@ -20,13 +19,14 @@ public class Videospiel extends Medium {
}
@Override
public void verlaengern() {
public int verlaengern() {
if (istVerlaengerbar()){
verlaengerungen--;
rechneRueckgabedatum(); //Verlängerung
} else {
System.out.println("Keine Verlängerung mehr möglich");
}
return verlaengerungen;
}
}

View File

@ -25,17 +25,17 @@ public class BibliothekSystem {
// Methode zum Hinzufügen von Medien
private void initialMedienHinzufuegen() {
// Beispiel-Medien hinzufügen
Buch buch1 = new Buch("123","Java lernen", "Max Mustermann", 2020, "Buch");
Buch buch2 = new Buch("234","Java für Einsteiger", "Erika Musterfrau", 2014, "Buch");
Buch buch3 = new Buch("2345","Java für Einsteiger", "Erika Musterfrau", 2014, "Buch");
DVD dvd1 = new DVD("345","Die Matrix", "Lana Wachowski", 2014, "DVD");
DVD dvd2 = new DVD("543","Die Matrix", "Lana Wachowski", 2014, "DVD");
CD cd1 = new CD("456","Best of Mozart", "-", 1850, "CD");
CD cd2 = new CD("654","Christmas Carols", "-", 2000, "CD");
Brettspiel brettspiel1 = new Brettspiel("567","Monopoly", "-",2010, "Brettspiel");
Brettspiel brettspiel2 = new Brettspiel("765","Siedler von Catan", "-",2014, "Brettspiel");
Videospiel videospiel1 = new Videospiel("678","Minecraft", "-", 2011, "Videospiel");
Videospiel videospiel2 = new Videospiel("876","Call of Duty", "-", 2017, "Videospiel");
Buch buch1 = new Buch("123","Java lernen", "Max Mustermann", 2020, "Buch", 3);
Buch buch2 = new Buch("234","Java für Einsteiger", "Erika Musterfrau", 2014, "Buch", 3);
Buch buch3 = new Buch("2345","Java für Einsteiger", "Erika Musterfrau", 2014, "Buch", 3);
DVD dvd1 = new DVD("345","Die Matrix", "Lana Wachowski", 2014, "DVD", 0);
DVD dvd2 = new DVD("543","Die Matrix", "Lana Wachowski", 2014, "DVD", 0);
CD cd1 = new CD("456","Best of Mozart", "-", 1850, "CD", 0);
CD cd2 = new CD("654","Christmas Carols", "-", 2000, "CD", 0);
Brettspiel brettspiel1 = new Brettspiel("567","Monopoly", "-",2010, "Brettspiel", 0);
Brettspiel brettspiel2 = new Brettspiel("765","Siedler von Catan", "-",2014, "Brettspiel", 0);
Videospiel videospiel1 = new Videospiel("678","Minecraft", "-", 2011, "Videospiel", 1);
Videospiel videospiel2 = new Videospiel("876","Call of Duty", "-", 2017, "Videospiel",1);
// Medien zur Bibliothek hinzufügen
addMedium(buch1);
@ -103,6 +103,7 @@ public class BibliothekSystem {
medium.setRueckgabedatum(medium.rechneRueckgabedatum());
System.out.println(benutzer.getName() + " hat " + medium.getTitel() + " ausgeliehen.");
System.out.println("Rückgabedatum: " + medium.getRueckgabedatum());
System.out.println("Verlängerungen möglich insgesamt: " + medium.getVerlaengerungen());
} else {
System.out.println("Ausleihe nicht möglich.");
}
@ -117,7 +118,7 @@ public class BibliothekSystem {
return;
}
if(!medium.istAusgeliehen()) {
System.out.println("Medium '"+medium.getTitel()+"' nicht gefunden.");
System.out.println("Medium '"+medium.getTitel()+"' ist nicht ausgeliehen.");
return;
}
@ -137,7 +138,7 @@ public class BibliothekSystem {
//Medium zurückgeben
try {
ausleiher.rueckgabe(medium);
System.out.println("Medium '"+medium.getTitel()+"' wurde erfolgreich zurückgegeben.");
System.out.println("Medium '"+medium.getTitel()+"' wurde erfolgreich am " + getAktuellesDatum() + " zurückgegeben.");
if(aktuellesDatum.after(medium.getRueckgabedatum())){
long overdueTage = (aktuellesDatum.getTime() - medium.getRueckgabedatum().getTime()) / (1000 * 60 * 60 * 24);
@ -167,7 +168,7 @@ public class BibliothekSystem {
if (gebuehren>0){
System.out.println("Offene Gebühren für " + benutzer.getName() + ": " + gebuehren + " Eur.");
} else {
System.out.println("Keine offene Gebühren für "+ benutzer.getName());
System.out.println("Keine offene Gebühren für "+ benutzer.getName() + ".");
}
}
@ -177,11 +178,17 @@ public class BibliothekSystem {
Benutzer benutzer = anmelden(kartennummer);
Medium medium = findeMedium(mediumID);
if (benutzer != null && medium != null && medium.istAusgeliehen()) {
medium.verlaengern();
System.out.println("Leihfrist für '" + medium.getTitel() + "' verlängert.");
System.out.println("Neues Rückgabedatum: " + medium.getRueckgabedatum());
if (medium.istVerlaengerbar()) {
medium.verlaengern();
System.out.println("Leihfrist für '" + medium.getTitel() + "' verlängert.");
System.out.println("Neues Rückgabedatum: " + medium.getRueckgabedatum());
System.out.println("Weitere Verlängerungen möglich: " + medium.getVerlaengerungen());
} else{
System.out.println("Verlängerung nicht möglich. Bitte geben Sie das Medium an dem Rückgabedatum zurück!");
}
} else {
System.out.println("Verlängerung nicht möglich.");
System.out.println("Verlängerung nicht möglich, da Kartennummer flasch ist oder Medium existiert nicht.");
}
}