Addcionando informações aos arrays

4 respostas
Rafadess

Eai gente, to começando aprender java com uma apostila do Caelum. Gostei da apostila, mas enfim estou com problema pra criar um método que adcione a referencia de um objeto em cada posição do array. Não sei se consiga explcia corretamente, mas é mais ou menos assim: Cada vez que invocar o método quero que ele add o nome de, no caso, um novo funcionário para a empresa numa pocição diferente do array, sem colocar em cima de um existente ou colocar o mesmo nome em todas as posições. A apostila fala pra usar um laço for, mas tá dificil de consegui isso. Eu fiz assim mas não tá dando naum ela tá colocando o nome do mesmo funcionário em todas as posições do array. O código:

void adciona(Funcionarios f){
for(int i=0; i<=funcionários.length; i++){

this.funcionários[i] = f;

	}
		
}

eu invoco o método desse geito: empresa.adciona(Rafael); em outra classe com o método main. Pessoal me ajuda ai :smiley:

4 Respostas

Rafadess

acho que não deixei bem claro o que eu keria… mas entuam vou tentar de novo. Quero criar um método que adcione informações as posições do array. Mas quero que ele veja se a posição que vou adcionar a informação está ocupado ou não. Se estiver ocupada quero que ele busque na próxima posição e assim por diante. o código que eu colokei foi esse de cima mas naum fungo naum. Se puderem me ajudar serei grato.

Marck

Olá.

Para vc verificar se uma posição está ocupada, pode fazer assim:

...

if(funcionários[i] == null){  //se a posição i do vetor == null, insere um funcionario
    
      this.funcionários[i] = f; 

}else{ //senão vai para a próxima posição.
   
       i++;
}

Este if pode estar dentro de um laço. Seria isso?

Abraço!

Rafadess

o amigo obrigado pela resposta. Eu tentei desse jeito e não deu certo, o eclipse mostra uma mensagem de erro. Dai caçando no forum consegui uma outra maneira usando uma varial do tipo boolean. ficou assim dai deu certo:

void adciona(Funcionarios f){
	boolean teste = true;
	for(int i=0; teste; i++){
		if(this.funcionários[i]==null){
			this.funcionários[i] = f;
			teste = false;
		}
	}
Rafadess

package Empresa;

public class empresa {

String nome; String cnpj; Funcionarios[] funcionários; [color=#FF0000]
void adciona(Funcionarios f){
		boolean teste = true;
		for(int i=0; teste; i++){
			if(this.funcionários[i]==null){
				this.funcionários[i] = f;
				teste = false;
			}
		}
			
		}
	}
[/color]
Criado 22 de outubro de 2007
Ultima resposta 22 de out. de 2007
Respostas 4
Participantes 2