Ajuda arrays

1 resposta
U
class Empresa {
	String nome;
	String cnpj;
	Trabalhador[] trabalhadores;
	
	void mostra(){
		System.out.println("Empresa:"+this.nome);
		System.out.println("cnpj:"+this.cnpj);
	}
	
	void adiciona(Trabalhador t){
		Trabalhador trabalhadores=t;
		System.out.println("Funcionário:"+trabalhadores.funcionario);
		System.out.println("RG:"+trabalhadores.rg);
		System.out.println("Salário:R$"+trabalhadores.salario);
	}
}

class Trabalhador{
	String funcionario;
	String rg;
	double salario;
}

class EmpresaTeste{
	public static void main(String[] args){
		Empresa empresa=new Empresa();
		empresa.nome="JUNINHO ANDRADE lmtd";
		empresa.cnpj="64656543";
		empresa.mostra();
		System.out.print("\n");
		
		empresa.trabalhadores=new Trabalhador[10];
		
		Trabalhador t1=new Trabalhador();
		t1.funcionario="Brida";
		t1.rg="[telefone removido]";
		t1.salario=1200.00;
		
		Trabalhador t2=new Trabalhador();
		t2.funcionario="Kika";
		t2.rg="94654546";
		t2.salario=350.00;
		
		Trabalhador t3=new Trabalhador();
		t3.funcionario="Leão";
		t3.rg="454656656";
		t3.salario=585.65;
		
		empresa.trabalhadores[0]=t1;
		empresa.trabalhadores[5]=t2;
		empresa.trabalhadores[8]=t3;
		
		empresa.adiciona(t1);
		System.out.print("\n");
		empresa.adiciona(t2);
		System.out.print("\n");
		empresa.adiciona(t3);
	}
}
Olá, fiz esse código mas gostaria de saber como faço para no método adiciona procurar uma posição vazia para o novo trabalhador ou guardar um contador que indique a próxima posição vazia.Obrigado.

1 Resposta

J

Você pode fazer um for percorrendo o array até encontrar uma posição igual a null:

ex.:

for(int i=0;i<trabalhadores.length;i++){
   if(trabalhadores[i]==null){
       trabalhadores[i] = t;
       break;
   }
}

Mas sinceramente, isso é a reinvenção da roda...

Use uma coleção:

List trabalhadores = new ArrayList();

trabalhadores.add(t);
Criado 6 de outubro de 2006
Ultima resposta 6 de out. de 2006
Respostas 1
Participantes 2