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

Exercício 4. Exibir o array

Não sei o que colocar no meu main após a alteração do array de posição de funcionário.

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

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

    /*void posicao (){
        for (int i=0; i<empregados.length; i++){
            System.out.println("Funcionário na posição " +i);
           // System.out.println("Salário " + this.empregados[i].salario);
        }
    }
    */
   public Funcionario getFuncionario(int posicao) {
        return this.empregados[posicao];

    }

    void mostrarTodasAsInformações(){
        for (int i=0; i< this.livre; i++){
            System.out.println("Funcionário na posição " +i);
            this.empregados[i].exibirAtributos();
        }
    }

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

    public String getNome(){
        return this.nome;
    }

    public void setNome (String nome){
        this.nome= nome;
    }
}

main

   public static void main(String[] args) {
        // TODO code application logic here


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

         Funcionario f1= new Funcionario();

        f1.nome= "Jose dos Santos";
        f1.setRG ("87.859.235-7");
        f1.departamento= "RH";
        //f1.dataDeEntrada= "05/10/2008";
        f1.admissao= new Data();
        f1.admissao.preencherData(28, 05, 2008);
        f1.setSalario(3560.0);
        f1.recebeAumento(500.0);
        f1.getGanhoAnual();
        //f1.exibirAtributos();
        empresa.adiciona(f1);

        Funcionario f2= new Funcionario();

        f2.nome= "Joselino dos Santos";
        f2.setRG ("87.859.235-7");
        f2.departamento= "RH";
        //f2.dataDeEntrada= "05/10/2008";
        f2.admissao= new Data();
        f2.admissao.preencherData(20, 05, 2008);
        f2.setSalario(3560.0);
        f2.recebeAumento(500.0);
        f2.getGanhoAnual();
        //f2.exibirAtributos();
        empresa.adiciona(f2);
        //Funcionario f2= f1;

        //if (f1 == f2){
          //  System.out.println("Funcionário já cadastrado");
        //}else { 
          //  System.out.println("Novo funcionario cadastrado");


        empresa.empregados[0].exibirAtributos();
        empresa.empregados[1].exibirAtributos();
        empresa.posicao();
        System.out.println("---");
        empresa.mostrarTodasAsInformações();

                    }


        }

eu sei que não deixo mais como empresa.posicao(); mas colocar getFuncionario(); não funciona também.

1 resposta
solução!

Bom Dia,

Você deve colocar empresa.mostrarTodasAsInformações(); pois agora é neste método que você está imprimindo todos os funcionários de seu array.