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

Erro de compilação. Exercício 4, Aula 5.

class Funcionario3 {
    String nome;
    String departamento;
    double salario;
    Data dataDeEntrada;
    String rg;

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

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

    void mostra(){
        System.out.println("Nome: " + this.nome);
                System.out.println("Departamento: " + this.departamento);
                System.out.println("Salario: R$" + this.salario);
                System.out.println("Data de entrada: " + this.dataDeEntrada.getFormatada());
                System.out.println("RG: " + this.rg);
                System.out.println("Ganho anual: R$" + this.calculaGanhoAnual());
    }
}
class Data {
    int dia;
    int mes;
    int ano;

    void preencheData (int dia, int mes, int ano) {
        this.dia = dia;
        this.mes = mes;
        this.ano = ano;
    }
        String getFormatada() {
        return this.dia + "/" + this.mes + "/" + this.ano;
        }
}
class Empresa {
        String nome;
        String cnpj;
        Funcionario3[] funcionarios;
        int livre = 0;

    public Funcionario3 getFuncionario (int posicao) {
    return this.empregados[posicao];
    }    

    void adiciona(Funcionario3 f) {
        this.funcionarios[this.livre] = f;
        this.livre++;
    }
    void mostraEmpregados() {
    for (int i = 0; i < this.livre; i++) {
        System.out.println("Funcionario na posicao: " + i);
        System.out.println("R$" + this.funcionarios[i].salario);
        System.out.println("Funcionario: " + this.funcionarios[i].nome);
        }
    }

    void mostraTodasAsInformacoes() {
    for (int i = 0; i < this.livre; i++) {
        System.out.println("Funcionário na posição: " + i);
        this.funcionarios[i].mostra();
        }
    }
    boolean contem(Funcionario3 f) {
            for (int i = 0; i < this.livre; i++) {
                if (f == this.funcionarios[i]) {
                    return true;
                }
            }
            return false;
        }
}
class TestaEmpresa {
        public static void main(String[] args){
                Empresa empresa = new Empresa();            // Instaciado objeto empresa na classe Empresa
                empresa.funcionarios = new Funcionario3[10];

            for (int i = 0; i < 5; i++){
                Funcionario3 f1 = new Funcionario3();
                f1.nome = "Jozelito da Silva";
                f1.salario = 1000 + i * 100;
                f1.departamento = "TI";
                f1.dataDeEntrada = new Data();
                empresa.adiciona(f1);
                }

            for (int i = 0; i < 5; i++){
                Funcionario3 f2 = new Funcionario3();
                f2.nome = "Rosalita Pereira";
                f2.salario = 1700 + i * 100;
                f2.departamento = "TI";
                f2.dataDeEntrada = new Data();
                empresa.adiciona(f2);
                }

                empresa.funcionarios[0].mostra();
                empresa.funcionarios[1].mostra();

                empresa.mostraTodasAsInformacoes();
                empresa.mostraTodasAsInformacoes();
                empresa.mostraEmpregados();
                }
}
class TestaFuncionario3 {
    public static void main(String[] args){
        Funcionario3 joseph = new Funcionario3();
        joseph.dataDeEntrada = new Data();
        joseph.dataDeEntrada.preencheData(5, 6, 2001);
        joseph.nome = "Joseph Kristofer";
        joseph.departamento = "Programmer";
        joseph.salario = 4200.0;
        joseph.rg = "86.857.96-4";

        joseph.recebeAumento(250.0);
        joseph.mostra();

        Funcionario3 f2 = new Funcionario3();        

        if (joseph == f2) {
            System.out.println("iguais");
        } else {
            System.out.println("diferentes");        
        }
    }
}

Olá Pessoal, gostaria de uma ajuda.

Segue erro: Funcionario3.java:46: error: cannot find symbol return this.empregados[posicao];

1 error

2 respostas

Oi Bruno

no seu método

    public Funcionario3 getFuncionario (int posicao) {
    return this.empregados[posicao];
    }

não deveria ser

    public Funcionario3 getFuncionario (int posicao) {
    return this.funcionarios[posicao];
    }

??

pois sua classe empresa tem o atributo funcionarios

solução!

@Jefferson!

Consegui, verdade hehehehehehe

Obrigado man!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software