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

Obrigatoriedade do tipo return. Primeiros passos Java

Na 3ª aula de Primeiros passos java, ao compilar Conta.java ( classes Conta e Programa), obtive erro com mensagem:

error: incompatible types: unexpected return value return true;

Ao contrário do que acontece na aula, fui obrigado a colocar um return no método deposita, como segue.

Alguém sabe o motivo?

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

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

class Programa {
    public static void main(String args[]) {
        Conta sidnei = new Conta();
        sidnei.numero = 1233;
        sidnei.titular = "Sidnei de Aula";
        sidnei.saldo = 800.0;
        sidnei.agencia = 777;

        sidnei.deposita(100.0);


        Conta guilherme = new Conta();                                    
        guilherme.numero = 2344;                                      
        guilherme.titular = "Guilherme de Aula";                     
        guilherme.saldo = 900.0;                                  
        guilherme.agencia = 888; 

        guilherme.deposita(100.0);
        System.out.println(sidnei.saldo);
        System.out.println(guilherme.saldo);
    }
}
5 respostas

Sidnei,

Pode retirar o return do método deposita e salve sua classe e tente novamente compila-la pois dará certo.

Seria bom você ja definir a visibilidade do seu método "deposita", mas acredito que vc verá isso nas próximas aulas...

Lucas, realmente deu certo.

Tem um motivo para que na segunda compilação não seja necessário o return?Ou melhor, tem motivo para que na primeira compilação o return seja necessário?

Obrigado pela ajuda.

Responde estas dúvidas, e eu marco tua resposta como solução. rs.

solução!

Geralmente no eclipse acontece isso e somente depois que você 'salva' que as alterações surtem efeito!

Quando for assim, sempre realize as alterações salve e depois compile as classes...

Doideras do eclipse!!! Se vc estivesse em qualquer outro editor salvasse e compilasse não daria esse erro!!!

O pior é que eu não estou usando o Eclipse, estou em um simples editor(ultraedit)

Mas ele também deve ter estas doideras...

Mais uma vez obrigado pela ajuda.

Se vc usar o void na declaração de um método, vc estará informando que esse metodo, não retornara nenhum valor. Para usar o return é obrigatório que na declaração do método, seja declarado o tipo do valor a ser retornado, e não usar o void pois o método está retornando algum valor. Espero ter ajudado um pouco mais. :)