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

Orientação a objetos - Aula 3

O seguinte código não passa pelo Java, não encontro o erro.

class DadosFuncionario {
    public static void main(String[] args) {
        Funcionario a1 = new Funcionario();
        a1.nome = "Nelson";
        a1.rg = "12345678-9";
        a1.departamento = "Consultoria";
        a1.dataEntrada = "18/08/2015";
        a1.salario = 1700.0;
        a1.recebeAumento(300.0);

        Funcionario a2 = new Funcionario();
        a2.nome = "Debora";
        a2.rg = "98765432-1";
        a2.departamento = "Recursos Humanos";
        a2.dataEntrada = "19/09/2015";
        a1.salario = 1300.0;
        a1.recebeAumento(150.0);
    }
    mostra(a1);
    mostra(a2);
}
6 respostas

Qual seria o erro que está sendo apresentado quando esse código é executado?

Linhas 19 e 20:

 error: invalid method declaration; return type required
        mostra(a1);

Qual o código desse mostra? pode ser que você tenho que instanciar um objeto do tipo mostra para usa-lo ou talvez fazer dele um método estático

O código seria esse abaixo, mas no caso ele foi compilado, o supracitado não. Obrigado pela força, Davi!

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

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

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

    void mostra() {
        System.out.println("Nome: " + this.nome);
        System.out.println("RG: " + this.rg);
        System.out.println("Departamento: " + this.departamento);
        System.out.println("Data de Entrada: " + this.dataEntrada);
        System.out.println("Salario: " + this.salario);
        System.out.println("Ganho anual: " + this.calculaGanhoAnual());
    }
}
solução!

Coloque a chamada ao método mostra dentro do método main, dessa maneira:

class DadosFuncionario {
    public static void main(String[] args) {
        Funcionario a1 = new Funcionario();
        a1.nome = "Nelson";
        a1.rg = "12345678-9";
        a1.departamento = "Consultoria";
        a1.dataEntrada = "18/08/2015";
        a1.salario = 1700.0;
        a1.recebeAumento(300.0);

        Funcionario a2 = new Funcionario();
        a2.nome = "Debora";
        a2.rg = "98765432-1";
        a2.departamento = "Recursos Humanos";
        a2.dataEntrada = "19/09/2015";
        a2.salario = 1300.0;
        a2.recebeAumento(150.0);

    a1.mostra();
       a2.mostra();
    }
}

Obrigado, Felipe! Funcionou.