[AJUDA] Exercícios Array apostila Caelum

1 resposta
K
  1. Volte ao nosso sistema de Funcionario e crie uma classe Empresa dentro do mesmo arquivo .java. A Empresa tem um nome, cnpj e uma referência a uma array de Funcionario, além de outros atributos que você julgar necessário.
class Empresa {

// outros atributos

Funcionario[] empregados;

String cnpj;

}
  1. A Empresa deve ter um método adiciona, que recebe uma referência a Funcionario como argumento, e guarda esse funcionário. Algo como:
void adiciona(Funcionario f) {

// algo tipo:

// this.empregados[ ??? ] = f;

// mas que posição colocar?

}



Você deve inserir o Funcionario em uma posição da array que esteja livre. Existem várias maneiras para você fazer isso: guardar um contador para indicar qual a próxima posição vazia ou procurar por uma posição vazia toda vez. O que seria mais interessante?

É importante reparar que o método adiciona não recebe nome, rg, salário, etc. Essa seria uma maneira nem um pouco estruturada, muito menos orientada a objetos de se trabalhar. Você antes cria um Funcionario e  passa a referência dele, que dentro do objeto possui rg, salário, etc.

Listo ai os 2 primeiros exercícios do capitulo 5 sobre arrays da apostila Caelum. Tive muita duvidas sobre Array e não estou sabendo como prosseguir.
Se alguém puder me dar umas dicas de como usar arrays e de como fazer os exercícios, fico muito agradecida! =]

1 Resposta

drigo.angelo

Passar o funcionário como parâmetro é a solução orientada a objetos, não tenha dúvida hehe

A classe empresa está certa, só não se esqueça de iniciar o array no construtor da classe:

public Empresa(){ funcionarios = new Funcionario[QTD_MAXIMA_FUNCIONARIOS]; }
E quanto a saber em que posição adicionar o funcionário, eu particularmente prefiro guardar a próxima posição em uma variável de instância… aí fica tipo:

private int posicao; //posicao atual do array de funcionarios void adiciona(Funcionario f){ funcionarios[posicao++] = f; }

Criado 25 de janeiro de 2011
Ultima resposta 25 de jan. de 2011
Respostas 1
Participantes 2