
bancomat.SessionDab Maven / Gradle / Ivy
The newest version!
package bancomat;
public class SessionDab {
private final Account account;
private final Atm atm;
public SessionDab(Account account, Atm atm) {
this.account = account;
this.atm = atm;
}
public int withdraw(int amount) {
int cash ;
cash = 0;
if( account.cardIsLost()){
atm.eatTheCard();
atm.displaysAndWriteTicket("The card has been retained", withdrawTicketStart(amount) + " forbidden\n\nTo get your card back, ask the office");
}else if( account.balance() <= amount ){
atm.displaysAndWriteTicket("Insufficient funds", withdrawTicketStart(amount) + " forbidden: insufficient funds\n\nActual balance: "+account.balance());
}else if(! account.canWithdraw()){
atm.displaysAndWriteTicket("Maximum withdraws reach", withdrawTicketStart(amount) + " forbidden: maximum withdraws reached\n\n Actual balance: " + account.balance());
}else{
// cash = amount;
account.withdraw(amount);
atm.displaysAndWriteTicket("Bye", withdrawTicketStart(amount) + " ok\n\nActual balance: " + account.balance());
}
atm.ejectCard();
return cash;
}
private String withdrawTicketStart(int amount) {
return "Account " + this.account.hashCode() + "\n\nwithdraw "+amount+ "$";
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy