public class Main {
public static void main(String[] args) {
BankAccount acc1 = new BankAccount("№101", "Алексей", 5000.0);
BankAccount acc2 = new BankAccount("№102", "Мария", 12000.0);
BankAccount acc3 = new BankAccount("№103", "Иван", 3500.0);
acc1.deposit(1500.0);
acc2.withdraw(2000.0);
acc3.deposit(4000.0);
System.out.println("--- Попытка снять слишком много денег ---");
acc1.withdraw(10000.0);
System.out.println();
BankAccount highest = acc1;
if (acc2.balance > highest.balance) {
highest = acc2;
}
if (acc3.balance > highest.balance) {
highest = acc3;
}
System.out.println("--- Счет с наибольшим балансом ---");
highest.displayAccount();
System.out.println();
System.out.println("--- Итоговое состояние всех счетов ---");
acc1.displayAccount();
acc2.displayAccount();
acc3.displayAccount();
}
}
class BankAccount {
String accountNumber;
String ownerName;
double balance;
public BankAccount(String accountNumber, String ownerName, double balance) {
this.accountNumber = accountNumber;
this.ownerName = ownerName;
this.balance = balance;
}
public void deposit(double amount) {
balance += amount;
}
public boolean hasEnoughMoney(double amount) {
return balance >= amount;
}
public void withdraw(double amount) {
if (hasEnoughMoney(amount)) {
balance -= amount;
} else {
System.out.println("Ошибка: Недостаточно средств на счете пользователя " + ownerName);
}
}
public void displayAccount() {
System.out.println("Счет: " + accountNumber + " | Владелец: " + ownerName + " | Баланс: " + balance + " руб.");
}
}