Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Erro no metado transfere ao copilar.

class Conta { int numero; String titular; double saldo; int agencia;

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

void saque(double valorASerSacado) { if (this.saldo >= valorASerSacado) { this.saldo -= valorASerSacado; }

}

void transfere(double valor, Conta Origem, Conta Destino) { this.saldo -= valor; Destino.saldo += valor; } }

class Programa {

public static void main(String[] args) { Conta mauricio = new Conta(); mauricio.numero = 123; mauricio.saldo = 800.0; mauricio.titular = "Mauricio Aniche"; mauricio.agencia = 842;

Conta guilherme = new Conta(); guilherme.numero = 456; guilherme.saldo = 1200.0;

mauricio.transfere( 100.0, guilherme);

System.out.println(mauricio.saldo); System.out.println(guilherme.saldo); } }

2 respostas
solução!

Erro está na declaração/chamada do metodo. Na declaração há 3 parâmetros: valor, origem e destino. Porem na chamda há apenas dois. Como a conta origem vem do proprio objeto que está chamando o método, altere a declaração do seu método:

Class Conta {

    //outros métodos da classe conta

    void transfere(double valor, Conta Destino) {
        this.saldo -= valor;
        Destino.saldo += valor;
    }

}

Obrigado