Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Deposita para conta destino não funciona

Boas caros,

O Método deposita, não está a funcionar quando utilizo na função transferir.

Minha classe:

package bytebank;

public class Conta {

    double saldo;
    int agencia;
    int numero;
    String titular;

    public void deposita (double valor) {
        this.saldo =+ valor;    
    }

    public boolean levanta(double valor) {

        if (this.saldo>= valor) {
            this.saldo = this.saldo - valor;
            return true;
        }else {
            return false;
        }

    }

    public boolean transfere( double valor, Conta destino, Conta origrem) { 
        if(this.saldo >= valor) { 
            this.saldo -= valor; 
            destino.deposita(valor);
            return true;
        } else {
            return false;


}

    }

}

Teste métodos:

package bytebank;

public class TestaMetodo {

    public static void main(String[] args) {
        Conta contaMartins = new Conta();

        contaMartins.deposita(1000);


        boolean conseguiuLevantar = contaMartins.levanta(500);
        System.out.println("Conta Martins antes da trafernecia "+contaMartins.saldo);


        Conta ContaNerilia = new Conta();
        ContaNerilia.deposita(1700);
        System.out.println("Conta Nerilia antes da transferencia "+ ContaNerilia.saldo);

        ContaNerilia.transfere(800, contaMartins, ContaNerilia);
        System.out.println("Saldo após transferencia Nerialia: " + ContaNerilia.saldo);
        System.out.println("Saldo após transferencia Martins: " + contaMartins.saldo);



    }

}

O Deposito esta sobrepor o valor que tem no saldo da conta destino Resultado:

Conta Martins antes da trafernecia 500.0
Conta Nerilia antes da transferencia 1700.0
Saldo após transferencia Nerialia: 900.0
Saldo após transferencia Martins: 800.0
1 resposta
solução!

Creio que o erro esteja neste trecho de código:

public void deposita (double valor) {
        this.saldo =+ valor;    
    }

O sinal correto é +=.

public void deposita (double valor) {
        this.saldo += valor;    
    }

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software