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

[Dúvida] meu método transfere, do bytebank, só transfere da conta dois pra um!

Na transferência de valor da primeiraConta para a segundaConta o Eclipse mostra a mensagem de que a variável segundaConta não pode ser definida como uma variável, porém na transferência da seundaConta para a primeiraConta não aparace mensagem nehuma. Qual poderia ser o problema?

public boolean transfere(double valor, Conta destino){
        if(this.saldo >= valor){
            this.saldo -= valor;
            destino.deposita(valor);    
            return true;
        }
        return false;
    }
    
    public class CriaConta {
    
    public static void main(String[] args) {
        
        Conta primeiraConta = new Conta();
            primeiraConta.saldo = 500.0;
            primeiraConta.transfere(200.0, segundaConta); // aqui o Eclipse mostra a mensagem "segundaConta cannot be resolved to a variable".
            
        Conta segundaConta = new Conta();
            segundaConta.saldo = 600.0;
            segundaConta.transfere(50.0, primeiraConta);
    }

}
2 respostas
solução!

Oi!

O erro acontece porque a variável segundaConta ainda não definida. Ela somente está sendo criada na próxima linha de código.

O código é sempre lido de cima para baixo e caso uma variável seja definida na linha 10, apenas a partir dessa linha que ela podera ser referenciada.

Bons estudos!

Legal, Rodrigo. Eu entendi, até cheguei a desconfiar disto. Tentei criar uma nova classe com a segunda conta, mas também não deu certo. Obrigado pela atenção. ; - )