public boolean transferir(int deConta, int paraConta, double valor) {
    Conta c1 = new Conta();
    Conta c2 = new Conta();
    for (int i = 0; i < this.contas.size(); i++) {
      if (this.contas.get(i).getNumero() == deConta) {
        c1 = this.contas.get(i);
      } else if (this.contas.get(i).getNumero() == paraConta) {
        c2 = this.contas.get(i);
      }
    }

    double c1Saldo = c1.getSaldo() - valor;
    double c2Saldo = c2.getSaldo() + valor;
    c1.setSaldo(c1Saldo);
    c2.setSaldo(c2Saldo);

    return true;
  }
Exemple #2
0
 public synchronized boolean saque(Conta conta, double valor) {
   double saldo = conta.getSaldo();
   if (saldo < valor) {
     System.out.println("Saldo insuficiente para o saque.");
     return false;
   }
   double novoSaldo = saldo - valor;
   System.out.println(
       Thread.currentThread().getName()
           + " sacou R$:"
           + valor
           + ". Saldo após saque: R$"
           + novoSaldo);
   conta.setSaldo(novoSaldo);
   return true;
 }