Methode payfees hinzugefügt und korrigiert

pull/2/head
elarturo 2024-11-19 10:09:40 +01:00
parent 43324565e5
commit 6bfc94ad33
1 changed files with 60 additions and 52 deletions

View File

@ -4,61 +4,69 @@ import java.util.ArrayList;
import java.util.List;
public abstract class User {
private String id;
private String name;
private double outstandingFees; // Ausstehende Gebühren
private List<Medium> borrowedMedia;
private String id;
private String name;
private double annualFee; // Jahresgebühr
private double outstandingFees; // Ausstehende Gebühren
private List<Medium> borrowedMedia;
private String role; // "admin", "user", "student", "scholar"
public User(String id, String name, double annualFee) {
this.id = id;
this.name = name;
this.outstandingFees = 0.0;
this.borrowedMedia = new ArrayList<>();
}
public User(String id, String name, double annualFee, String role) {
this.id = id;
this.name = name;
this.annualFee = annualFee;
this.outstandingFees = 0.0;
this.borrowedMedia = new ArrayList<>();
this.role = role; // Setzt die Rolle des Benutzers
}
public String getId() {
return id;
}
public String getId() {
return id;
}
public String getName() {
return name;
}
public String getName() {
return name;
}
public double getOutstandingFees() {
public double getAnnualFee() {
return annualFee;
}
public void addFee(double fee) {
this.outstandingFees += fee;
}
public void payFees(double amount) {
if (amount > outstandingFees) {
System.out.println("Der Betrag übersteigt die ausstehenden Gebühren.");
return;
}
outstandingFees -= amount;
System.out.println("Zahlung von " + amount + "€ erfolgreich. Verbleibende Gebühren: " + outstandingFees + "€.");
}
public List<Medium> getBorrowedMedia() {
return borrowedMedia;
}
public void borrowMedium(Medium medium) {
borrowedMedia.add(medium);
}
public void returnMedium(Medium medium) {
borrowedMedia.remove(medium);
}
public String getRole() {
return role;
}
@Override
public String toString() {
return "Benutzer{" + "ID='" + id + '\'' + ", Name='" + name + '\'' + ", Jahresgebühr=" + annualFee
+ ", Ausstehende Gebühren=" + outstandingFees + '}';
}
public double getOutstandingFees() {
return outstandingFees;
}
public void addFee(double fee) {
this.outstandingFees += fee;
}
public void payFees(double amount) {
if (amount > outstandingFees) {
System.out.println("Der Betrag übersteigt die ausstehenden Gebühren.");
return;
}
outstandingFees -= amount;
System.out.println("Zahlung von " + amount + "€ erfolgreich. Verbleibende Gebühren: " + outstandingFees + "€.");
}
public List<Medium> getBorrowedMedia() {
return borrowedMedia;
}
public void borrowMedium(Medium medium) {
borrowedMedia.add(medium);
}
public void returnMedium(Medium medium) {
borrowedMedia.remove(medium);
}
@Override
public String toString() {
return "Benutzer{" +
"ID='" + id + '\'' +
", Name='" + name + '\'' +
", Ausstehende Gebühren=" + outstandingFees +
'}';
}
}