Duvida com o método mostra()

4 respostas
amor_et_tussis_non_c

Olá dinovo pessoal…toh com outra divida…na classe “Empresa” q segue abaixo o método mostra soh mostra os atributos da empresa e naum estah mostrado os atributos dos funcionarios q estah na array…parece q o loop do método ta errado mas naum sei onde estah o erro…por favor me da uma ajuda ai.

class Empresa{

String nome;

String cnpj;

String end;

Funcionario [] funcionarios;

int pos=0;

//método construtor

public Empresa(String n, String c, String e){
nome = n;
    cnpj = c;
    end = e;

}

// método q adiciona os funcionarios no array
public void adiciona(Funcionario f){

if(this.pos == funcionarios.length){

System.out.println(O array estah cheio!);

}

else{

this.funcionarios[this.pos] = f;

this.pos++;

}
}

public void mostra(){

System.out.println(Empresa: +this.nome+”\nCNPJ: +this.cnpj+”\nEndereco: +this.end+”\n);

for(int i = 0; i <= pos-1; i++){

System.out.println(funcionarios[i]);

System.out.println("\n");

}

}

}

4 Respostas

bsl.lacerda

Faz assim:

class Empresa{

String nome;

String cnpj;

String end;

List funcionarios = new ArrayList();

int pos=0;

//método construtor

public Empresa(String n, String c, String e){
nome = n;

cnpj = c;

end = e;

}
// método q adiciona os funcionarios no array

public void adiciona(Funcionario f){	

this.funcionarios.add(f);

}
public void mostra(){	

System.out.println(Empresa: +this.nome+”\nCNPJ: +this.cnpj+”\nEndereco: +this.end+”\n);

for (int x = 0; x < funcionarios.size(); x++){

Funcionario funcionario = funcionarios.get(x);

System.out.println(funcionario.nome);

}

}

}

E testa assim

public class Teste {

public static void main(String[] args) {
	Empresa empresa = new Empresa("XPTO", "12365478", "123654");
	
	Funcionario funcionario = new Funcionario();
	funcionario.nome = "alguem";
	
	empresa.adiciona(funcionario);
	empresa.mostra();


	
}

}

O uso de array é meio nebuloso. Estude Collections (ArrayList etc)

rmala_ti

Amigão, só uma dica pra quando vc postar código fonte.
Use o botão Code: coloque o código aqui
Tem que abrir e fechar a tag!

Assim fica bem mais fácil de ler.
Não posso te ajudar pois tb não sei.
Abraço.

LPJava

http://www.guj.com.br/posts/list/50115.java

T

for (Funcionario : funcionario){ funcionarios.XxX();

Criado 21 de fevereiro de 2008
Ultima resposta 22 de fev. de 2008
Respostas 4
Participantes 5