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

Java I: Primeiros passos Exercício 2

Pessoal estou com o seguinte erro:

.\Funcionario.java:20: error: cannot find symbol
                System.out.println("Ganho Anual: " + this.calculaGanhoAnual);
                                                         ^
  symbol: variable calculaGanhoAnual
1 error

Segue o meu código:

class Funcionario{
String nome;
String departamento;
double salario;
String data;
String rg;

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.departamento);
        System.out.println("Salario: " + this.salario);
        System.out.println("Data: " + this.data);
        System.out.println("RG: " + this.rg);
        System.out.println("Ganho Anual: " + this.calculaGanhoAnual);
         }
}


class TestaFuncionario {

            public static void main(String[] args) {
                Funcionario f1 = new Funcionario();

                f1.nome = "Hugo";
                f1.salario = 100;
                f1.recebeAumento(50);

                System.out.println("salario atual:" + f1.salario);
                System.out.println("ganho anual:" + f1.calculaGanhoAnual());
            }
        }
3 respostas
solução!

Olá Marcelo! Veja bem, calculaGanhoAnual é um método e não uma variável, então faltou você por os parênteses para chamar o método corretamente, da mesma forma que você fez na classe TestaFuncionario. Então o correto seria ficar assim:

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

Espero ter ajudado. Bons Estudos!

Olá, Marcelo. Tudo bom?

O this só deve ser utilizado para referenciar atributos da própria classe (ou ela mesma). O motivo do erro que foi apresentado ao executar seu programa, é que você utilizou o this no método calculaGanhoAnual(). Na verdade a linha ficaria assim: System.out.println("Ganho Anual: " + calculaGanhoAnual());

Bons estudos!

Obrigado pela ajuda!