Duvida com Arrays

7 respostas
amor_et_tussis_non_c

Olá pessoal…bem tô começando com o java e estudando uma apostila da Caelum travei qdo chequei nos arrays, parei pois não consegui entendo a parte dos arrays…

o exercicio é o seguinte:

[color=red]1)

Volte ao nosso sistema de Funcionario e crie uma classe Empresa. A Empresa tem

um nome, cnpj e uma array de Funcionario, além de outros atributos que você julgar

necessário

class Empresa {

// outros atributos

Funcionario[] funcionarios;

String cnpj;

}

2)

A empresa deve ter um método adiciona que recebe uma referência a

Funcionario como argumento, e guarda esse funcionario. Algo como:



void adiciona(Funcionario f) {

// algo tipo: this.funcionarios[ ??? ] = f;

// 

}



Você deve inserir o Funcionario em uma posição da array que esteja livre. Existem

várias maneira 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.[/color]

bem…ja criei a classe Funcionario e jah testei mas qdo chequei nesses exercicios travei pois não sei como guarda os funconarios q irei criar no array…

alguem ja fez esses exercicios…por favor me da uma luz pq ta td escuro aqui.

valeu.

7 Respostas

pablofaria
void adiciona(Funcionario f) {
      this.funcionarios[this.funcionarios.length] = f;
}

Sempre atento para a quantidade de posições declaradas inicialmente…

internetws

Eu travei nesse mesmo ponto, e desistir de continuar, pois essa apostila é muito confusa. Eu tenho uma ótima aqui, qualquer coisa me procura, que eu passo por email. Abraços!!!

amor_et_tussis_non_c

oh …quero sim, por favor manda no mail: [email removido].

valeu msm colega

Marky.Vasconcelos

Eu também desisti nesse ponto de estudar java, mas depois eu voltei na mesma apostila e pulei essa parte :stuck_out_tongue:

ViniGodoy

Esse é um exercício realmente difícil para quem está começando.

Para resolver esse problema, você poderia transformar sua classe numa pilha:
http://www.guj.com.br/posts/list/55235.java#289988

Ou criar o método adiciona com a seguinte assinatura:
Funcionario adiciona(int ind, Funcionario funcionario);

Que adicionaria um funcionário na posição indicada e, caso já houvesse um funcionário lá o retornaria.
Creio que essa segunda opção seja mais simples, e não comprometa o seu estudo. Mais para frente, você verá a interface List e a classe ArrayList, feitas para lidar com esse tipo de problema, como nesse exemplo aqui:
http://www.guj.com.br/posts/list/74068.java#389435

amor_et_tussis_non_c

Valeu ViniGodoy, vlw msm…mas se eu usar list acho q estarei pulando um ponto q na minha visão de iniciante será muito importante mais pra frente, mas agradeço muito a sua ajuda.

[]'s

ViniGodoy

Sim, é verdade. Por isso sugeri o primeiro link (que mostra como implementar uma pilha através de arrays primitivos), ou a segunda versão da assinatura, que se brincar já é adequada para o seu propósito.

Criado 16 de fevereiro de 2008
Ultima resposta 17 de fev. de 2008
Respostas 7
Participantes 5