package frames.conta;

public class Conta {
  private String numero;
  private double saldo;

  public Conta(String num, double s) {
    numero = num;
    saldo = s;
  }

  public Conta(String num) {
    numero = num;
    saldo = 0;
  }

  public String getNumero() {
    return numero;
  }

  public double getSaldo() {
    return saldo;
  }

  public void creditar(double valor) {
    saldo = saldo + valor;
  }

  public void debitar(double v) throws SIException {
    if (v <= saldo) saldo = saldo - v;
    else {
      SIException e;
      e = new SIException(saldo,numero);
      throw e;
    }
  }

  /**
   * Transfere o valor v da conta que executa o método para a conta
   * referenciada pelo parâmetro conta.
   */

  public void transferir(Conta c, double v) throws SIException {
    this.debitar(v);
    c.creditar(v);
  }
}
