/
Shcod
/
java-hw-abctactClass
Обзор
Документация
Войти
/
Shcod
/
java-hw-abctactClass
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/main/java/CreditAccount.java
55 строк
2 KB
Shcod
first commit
04 авг 2026, 02:30
04 авг 2026, 02:30
e10a619
Код
Авторство
О чём код?
import logger.Logger; import logger.SmartLogger; public class CreditAccount extends Account { private final long limit; private long balance; private Logger logger = new SmartLogger(); public CreditAccount(long limit) { this.limit = limit; balance = 0; } @Override public boolean add(long amount) { if (balance + amount <= 0) { balance += amount; logger.log("Баланс " + this + " пополнен на " + amount + " руб."); return true; } else { logger.log("Error ошибка пополнения баланса. Операция отменена."); return false; } } @Override public boolean pay(long amount) { if (balance - amount >= limit){ balance -= amount; logger.log("Произведена оплата на сумму " + amount); return true; } else { logger.log("error Оплата не произведена"); return false; } } @Override public boolean transfer(Account account, long amount) { if (pay(amount)) { if (account.add(amount)) { return true; } add(amount); // откат } logger.log(String.format("Операция по переводу средств на сумму %d со счета %s на счет %s не прошла", amount, this, account)); return false; } @Override public long getBalance() { return balance; } }