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

Dúvida no Ex. 3 da Aula 3 - Começando com Orientação a objetos

Bom dia a todos,

Não consigo trazer o calculaGanhoAnual:

Quando mando imprimir sempre sai como 0.0

Abaixo meu código:

public class Funcionario {

    String nome;
    String depFunc;
    double salario;
    String dataEntrada;
    String rgFunc;
    public double recebeAumento;
    public double calculaGanhoAnual;

    void recebeAumento (double aumento){
        this.salario += aumento;
    }

    double calculaGanhoAnual(){
        return this.salario *12;
    }

    void mostra(){

        System.out.println("Nome:" + this.nome);
        System.out.println("Departamento:" + this.depFunc);
        System.out.println("RG:" + this.rgFunc);
        System.out.println("Data entrada:" + this.dataEntrada);
        System.out.println("Salario atual:" + this.salario);
        System.out.println("Ganho anual:" + this.calculaGanhoAnual);

    }
}
3 respostas
solução!

Leonardo, Bom dia !!

você não consegue trazer o valor do calcula ganho atual pois está chamando errado . repare no seu código :

System.out.println("Ganho anual:" + this.calculaGanhoAnual);

neste caso você está chamando como se fosse uma variavel , quanto o calculaGanhoAnual é um método , então teria que chamar assim :

System.out.println("Ganho anual:" + calculaGanhoAnual());

Espero ter ajudado , Bons Estudos

Olá Leonardo! O que o Celso falou está correto! Apenas gostaria de fazer uma observação sobre seu código. O resultado estava dando zero pois você criou uma variável calculaGanhoAnual e não atribuiu nenhum valor a ela. Pereba abaixo:

public double calculaGanhoAnual;

Por ela ser do tipo double ela recebe por padrão o valor zero. Por isso, em seu método mostra() você colocou para imprimir essa variável então foi impresso o valor que ela recebe por padrão (0) ja que você não atribuiu nada a ela.

Como Celso falou, você pode utilizar o método calculaGanhoAnual() para calcular o ganho e imprimir através do método mostra() pois esse método retorna um double. Então não se faz necessário essas seguintes variáveis:

public double recebeAumento;
public double calculaGanhoAnual;

Enfim, apenas foi um esclarecimento para você compreender melhor o que o Celso disse. Espero ter ajudado! Bons Estudos!

Obrigado