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

Dúvida no Ex. 6 da Aula 4 - Arrays

Estou com uma duvida, não acho o erro no meu código,

Como é ruim ser novato rsrs,

Segue meu código a baixo.

class Funcionario {
    int departamento;
    double salario;
    Data dataDeEntrada;
    String nome;
    String RG;
    String cpf;
    String dataNascimento;


    void mostra() {
        System.out.println("Departamento: " + this.departamento);
        System.out.println("Nome: " + this.nome);

    }

    double RecebeAumento(double aumento) {
        return this.salario += aumento;
    }

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

class Empresa {
    String nome;
    String cnpj;
    Funcionario[] empregados;
    int livre = 0;

        void mostraTodasInformacoes() {
            for (int i =0; i < this.livre; i++){
                System.out.println("Funcionario na posição: "+i);
                this.empregados[i].mostra();
            }
        } 
    void mostraEmpregados() {
        for ( int i = 0; i < this.livre; i++) {

        System.out.println("-------------------------------------");
        System.out.println("Funcionario na posição: "+ i);
        System.out.println("Nome: " + this.empregados[i].nome);
        System.out.println("Departamento: " + this.empregados[i].departamento);
        System.out.println("Saldo Bancario R$: " + this.empregados[i].salario);
        System.out.println("-------------------------------------");
             }   

        }

    void adiciona(Funcionario f) {
        this.empregados[this.livre] = f;
        this.livre++;

    }
    boolean contem (Funcionario f){
            for(int i=0; i < this.livre; i++){
                if( f== this.empregado[i]){
                    return true;
                }
                }
            return false;
}
}

}

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 TestaEmpresa {

    public static void main(String[] args) {


    for (int i = 0; i < 5; i++) {
        Empresa empresa = new Empresa();
        empresa.empregados = new Funcionario[10];
        Funcionario f1 = new Funcionario();
        f1.nome = "Henry silva";
        f1.departamento = 1;
        f1.salario = 12000.21;
        empresa.adiciona(f1);

        Funcionario f2 = new Funcionario();
        f2.nome = "Wericksony";
        f2.departamento = 2;
        f2.salario = -300;
        empresa.adiciona(f2);

        Funcionario f3 = new Funcionario();
        f3.nome = "Emerson";
        f3.departamento = 3;
        f3.salario =19000;
        empresa.adiciona(f3);


            empresa.adiciona(f);
            empresa.contem(f);
    }


        empresa.mostraEmpregados();
        empresa.mostraTodasInformacoes();



    }
}
8 respostas

e poderiam me ensinar a colocar formatado? vlw rs

Para colocar formatado, coloque entre ```:

 Na linha em cima tem ``` e na linha embaixo também.

Formata aí, dá pra ler nada

Henrique qual é o ero que esta dando para você ?

Na linha 66 você fecha uma chave que não havia sido aberta, Henrique!

Tirando a chave que o Yan falou até então era o erro que estava apontando,

porem quando eu retiro aparece esses outros erros

Segue erro do CMD abaixo.

                if( f== this.empregado[i]){
                            ^
  symbol: variable empregado
Exercicio6.java:110: error: cannot find symbol
                        empresa.adiciona(f);
                                         ^
  symbol:   variable f
  location: class TestaEmpresa
Exercicio6.java:111: error: cannot find symbol
                        empresa.contem(f);
                                       ^
  symbol:   variable f
  location: class TestaEmpresa
Exercicio6.java:115: error: cannot find symbol
                empresa.mostraEmpregados();
                ^
  symbol:   variable empresa
  location: class TestaEmpresa
Exercicio6.java:116: error: cannot find symbol
                empresa.mostraTodasInformacoes();
                ^
  symbol:   variable empresa
  location: class TestaEmpresa
5 errors

desculpem,

segue formatado


                if( f== this.empregado[i]){
                            ^
  symbol: variable empregado
Exercicio6.java:110: error: cannot find symbol
                        empresa.adiciona(f);
                                         ^
  symbol:   variable f
  location: class TestaEmpresa
Exercicio6.java:111: error: cannot find symbol
                        empresa.contem(f);
                                       ^
  symbol:   variable f
  location: class TestaEmpresa
Exercicio6.java:115: error: cannot find symbol
                empresa.mostraEmpregados();
                ^
  symbol:   variable empresa
  location: class TestaEmpresa
Exercicio6.java:116: error: cannot find symbol
                empresa.mostraTodasInformacoes();
                ^
  symbol:   variable empresa
  location: class TestaEmpresa
5 errors
solução!

Bem, esse primeiro erro que diz que não encontrou a variável empregado é um pouco mais fácil de ver - acho que você digitou empregado em vez de empregados, porque a variável empregado realmente não existe!

Obrigado Yan, um erro foi,

mas apareceu varios outros

                        empresa.adiciona(f);
                                         ^
  symbol:   variable f
  location: class TestaEmpresa
Exercicio6.java:111: error: cannot find symbol
                        empresa.contem(f);
                                       ^
  symbol:   variable f
  location: class TestaEmpresa
Exercicio6.java:115: error: cannot find symbol
                empresa.mostraEmpregados();
                ^
  symbol:   variable empresa
  location: class TestaEmpresa
Exercicio6.java:116: error: cannot find symbol
                empresa.mostraTodasInformacoes();
                ^
  symbol:   variable empresa
  location: class TestaEmpresa
4 errors