Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não consigo encontrar o erro

Bom dia! Não estou conseguindo encontrar o erro nesse código. Obrigado

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

    void recebeAumento(double valor){
    this.salario += valor;
}
    double calculaGanhoAnual(){
    return this.salario * 12;
}
}
class TestaFuncionario {
public static void main(String args[]){

Funcionario f1 = new Funcionario();

f1.nome = "Pedro";
f1.salario = 1000;
f1.recebeAumento(500);

System.out.println(nome);
System.out.println(salario);
System.out.println(recebeAumento(500));
}

}
1 resposta
solução!

A variável nome não existe no método main. É um atributo de instancia de Funcionario. (o mesmo para salário )

        Funcionario f1 = new Funcionario();
        System.out.println(f1.nome);
        System.out.println(f1.salario);

Na chamada do metodo recebeAumento() ele retorna void, ou seja, sem retorno. Aplique então o aumento e depois imprima o salário.

        f1.recebeAumento(500);
        System.out.println(f1.salario);
class TestaFuncionario {
    public static void main(String args[]) {

        Funcionario f1 = new Funcionario();

        f1.nome = "Pedro";
        f1.salario = 1000;
        f1.recebeAumento(500);

        System.out.println(f1.nome);
        System.out.println(f1.salario);
        f1.recebeAumento(500);
        System.out.println(f1.salario);
    }

}