Olá, meu método transfere() adiciona 10.0 na outra conta mas não tira 10.0 da conta antiga. O que pode estar acontecendo? Obrigado Tiago
Olá, meu método transfere() adiciona 10.0 na outra conta mas não tira 10.0 da conta antiga. O que pode estar acontecendo? Obrigado Tiago
Olá tvsjazz, seu código não veio, tente enviar novamente por aqui para podermos te ajudar. Abs.
package br.com.bytebank.banco.modelo;
/**
* Classe que representa uma conta no bytebank
*
* @author Tiago
* @version 0.1
*
*/
public abstract class Conta {
protected double saldo;
private int agencia;
private int numero;
private Cliente titular;
private static int total = 0;
/**
* Construtor para inicializar o objeto Conta a partir da agencia e numero
* @param agencia
* @param numero
*/
public Conta(int agencia, int numero) {
Conta.total++;
//System.out.println("O total de contas é " + Conta.total);
this.agencia = agencia;
this.numero = numero;
//this.saldo = 100;
//System.out.println("Estou criando uma conta " + this.numero);
}
public abstract void deposita(double valor);
/**
* Valor precisa ser maior que o saldo
* @param valor
* @throws SaldoInsuficienteException
*/
public void saca(double valor) throws SaldoInsuficienteException {
if (this.saldo < valor) {
throw new SaldoInsuficienteException("Saldo: " + this.saldo + ", Valor: " + valor);
}
}
public void transfere(double valor, Conta destino) throws SaldoInsuficienteException {
this.saca(valor);
destino.deposita(valor);
}
public double getSaldo() {
return this.saldo;
}
public int getNumero() {
return this.numero;
}
public void setNumero(int numero) {
if (numero <= 0) {
System.out.println("Nao pode valor menor igual a 0");
return;
}
this.numero = numero;
}
public int getAgencia() {
return this.agencia;
}
public void setAgencia(int agencia) {
if (agencia <= 0) {
System.out.println("Nao pode valor menor igual a 0");
return;
}
this.agencia = agencia;
}
public void setTitular(Cliente titular) {
this.titular = titular;
}
public Cliente getTitular() {
return this.titular;
}
public static int getTotal() {
return Conta.total;
}
}
Ai está a classe Conta. Ele deposita da outra conta mais não saca
Olá tvsjazz, o if que você incluiu testa a situação de não haver saldo suficiente pra fazer o saque do valor, mas faltou incluir o else com o código que retira (subtrai) o dinheiro da conta. Testa a alteração que eu incluí abaixo e veja se passa a funcionar dessa forma.
public void saca(double valor) throws SaldoInsuficienteException {
if (this.saldo < valor) {
throw new SaldoInsuficienteException("Saldo: " + this.saldo + ", Valor: " + valor);
} else {
this.saldo -= valor;
}
}
Abs.
Nossa cara... óbvio né ahahaha que burro que fui hehe Valeu cara!