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

Dúvida no Ex. 3 do Capítulo 4 - Arrays

5 respostas

Olá Pessoal. Já tentei de diversar formas imprimir essa array, mas sem sucesso.

Alguma sugestão?

class Empresa {

    Funcionario[] funcionarios;

    void adiciona(Funcionario f1) {
        Funcionario f = new Funcionario();
        }

void imprimeEmpregados() {
        for(int i = 0; i < funcionarios.length; i++) {
            Funcionario funcionario = this.funcionarios[i];
            if (funcionario == null) continue;
            System.out.println("Nome: " + funcionario.nome +
                    ". Salário: " + funcionario.salario +
                    ". RG: " + funcionario.rg +
                    ". Data de Admissão: " + funcionario.dataAdmissao);
        }
    }
}

class Funcionario {
    String nome;
    int salario;
    String rg;
    String dataAdmissao;
    }

class TestaEmpresa {

    public static void main (String[] args) {

        Empresa empresa = new Empresa();
        empresa.funcionarios = new Funcionario[10];

        Funcionario f1 = new Funcionario();
        f1.nome = "Fulano";
        f1.salario = 1000;
        f1.rg = "1.111.111-1";
        f1.dataAdmissao = "12-12-12";
        empresa.adiciona(f1);

        Funcionario f2 = new Funcionario();
        f2.nome = "Ciclano";
        f2.salario = 1100;
        f2.rg = "2.222.222-2";
        f2.dataAdmissao = "11-11-11";
        empresa.adiciona(f2);

        imprimeEmpregados(f1);

        }

}

solução!

O código está com alguns erros:

1 . O método : imprimeEmpregados(f1); não existe na classe TestaEmpresa e sim na classe Empresa

2. A declaração do método: imprimeEmpregados(f1);  não recebe argumentos e na chamada você esta passando um funcionario

3. No método: 
void adiciona(Funcionario f1) {
   Funcionario f = new Funcionario();
}
você não está adicionando nenhum funcionário no array.

concertando esses erros vai funcionar certinho.

De fato, muito falta de atenção.

Com suas dicas funcionou perfeitamente.

Valeu!!!!

Amigo, também não é aconselhável criar as instâncias dos objetos em outras classes. como:

 void adiciona(Funcionario f1) {
        Funcionario f = new Funcionario();
        }

Crie o Funcionario f= new Funcionario(); no método principal, método main.

Ok. Muito Obrigado.