Untitled

mail@pastecode.io avatarunknown
java
19 days ago
2.3 kB
1
Indexable
Never
package org.generation;

import java.util.ArrayList;

public class ATM {
  private double balance;
  private int serialNumber;
  private ArrayList<String> log = new ArrayList<String>();

  ATM(double balance, int serialNumber) {
    this.balance = balance;
    this.serialNumber = serialNumber;
  }

  public double getBalance() {
    return balance;
  }

  public void setBalance(double balance) {
    this.balance = balance;
  }

  public int getSerialNumber() {
    return serialNumber;
  }

  public void setSerialNumber(int serialNumber) {
    this.serialNumber = serialNumber;
  }

  public void deposit(double amount) throws NegativeAmountException {
    if (amount < 0) {
      throw new NegativeAmountException("La cantidad a depositar es negativa");
    }
    log.add("añadiste $" + amount + " a tu cuenta! :D");
    this.balance += amount;
  }

  public void withdraw(double amount) throws OverTheBalanceException {
    if (amount > balance) {
      throw new OverTheBalanceException(
          "La cantidad a retirar excede el saldo de tu cuenta");
    }
    log.add("retiraste $" + amount + " de tu cuenta! D:");
    this.balance -= amount;
  }

  public void printLog() {
    for (int i = 0; i < log.size(); i++) {
      System.out.println(log.get(i));
    }
  }
}

package org.generation;

public class ATMtest {
  public static void main(String[] args) {
    ATM myAtm = new ATM(10000, 123123);

    System.out.println(myAtm.getBalance());
    System.out.println(myAtm.getSerialNumber());
    try {
      myAtm.deposit(1);
      myAtm.withdraw(10001);
      System.out.println(myAtm.getBalance());
      myAtm.printLog();
    } catch (NegativeAmountException e) {
      e.printStackTrace();
    } catch (OverTheBalanceException e) {
      e.printStackTrace();
    }
  }
}

package org.generation;

@SuppressWarnings("serial")
public class NegativeAmountException extends Exception {
  public NegativeAmountException(String message) {
    super(message);
  }
}

package org.generation;
@SuppressWarnings("serial")
public class OverTheBalanceException extends Exception {
  public OverTheBalanceException(String message) {
    super(message);
  }
}