Compare commits
3 Commits
8e49f7a0ed
...
f1027e4557
Author | SHA1 | Date |
---|---|---|
Simona-Ioana Purdila | f1027e4557 | |
Simona-Ioana Purdila | fceb835374 | |
Simona-Ioana Purdila | b692a84007 |
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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() {
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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.");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue