Загрузка данных


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 = balance + amount;
        System.out.println(ownerName + " пополнил счет на " + amount);
    }

    public void withdraw(double amount) {
        if (hasEnoughMoney(amount)) {
            balance = balance - amount;
            System.out.println(ownerName + " снял со счета " + amount);
        } else {
            System.out.println("Недостаточно денег на счете " + ownerName);
        }
    }

    public boolean hasEnoughMoney(double amount) {
        return balance >= amount;
    }

    public void displayAccount() {
        System.out.println("Номер счета: " + accountNumber);
        System.out.println("Владелец: " + ownerName);
        System.out.println("Баланс: " + balance);
        System.out.println("--------------------");
    }
}


public class Main {

    public static void main(String[] args) {

        BankAccount account1 =
                new BankAccount("10001", "Ivan", 10000);

        BankAccount account2 =
                new BankAccount("10002", "Alexey", 15000);

        BankAccount account3 =
                new BankAccount("10003", "Maria", 8000);

        account1.deposit(5000);
        account2.withdraw(3000);
        account3.deposit(2000);

        account1.withdraw(2000);
        account2.deposit(1000);

        account3.withdraw(50000);

        BankAccount maxAccount = account1;

        if (account2.balance > maxAccount.balance) {
            maxAccount = account2;
        }

        if (account3.balance > maxAccount.balance) {
            maxAccount = account3;
        }

        System.out.println();
        System.out.println("Счет с наибольшим балансом:");
        maxAccount.displayAccount();

        System.out.println("Итоговое состояние счетов:");

        account1.displayAccount();
        account2.displayAccount();
        account3.displayAccount();
    }
}