Pessoal estou com algumas dúvidas com a manipulação de arrays coloquei alguns comentários nas classes abaixo, poderiam me ajudar?
public class Empresa {
String nome;
String cnpj;
// Funcionario funcionario[]; tmb está correto desta forma?
Funcionario[] empregados;
//onde estou errando nesse método? Por que não está adicionando no array?
void adiciona(Funcionario f) {
//dou um new na Classe para que não fique adicionando o mesmo objeto na posição, é isso mesmo?
Funcionario empregados = new Funcionario();
for (int i = 0; i < this.empregados.length; i++) {
//Aqui tento tratar para que adicione onde está null, se não tiver posicao nula ele sai, está correto?
if (this.empregados[i] == null) {
this.empregados[i] = f;
} else {
break;
}
}
}
}
public class TestaEmpresa {
public static void main(String[] args){
Empresa emp =new Empresa();
emp.cnpj="222555";
emp.nome="Vem quem quer";
//aqui eu abro 5 espaços na memoria para carregar o array de Funcionario
emp.empregados=new Funcionario[5];
Funcionario f=new Funcionario();
f.departamento="Contas";
f.nome="Luana";
emp.adiciona(f);
System.out.println(emp);//como faço pra ver os valores do array?
Funcionario f1=new Funcionario();
f1.departamento="TI";
f1.nome="Lucas";
emp.adiciona(f1);
System.out.println(emp);
Funcionario f2=new Funcionario();
f2.departamento="Direito";
f2.nome="Lucia";
emp.adiciona(f2);
System.out.println(emp);
Funcionario f3=new Funcionario();
f3.departamento="Pagamento";
f3.nome="Leticia";
emp.adiciona(f3);
System.out.println(emp);
Funcionario f4=new Funcionario();
f4.departamento="RH";
f4.nome="Leona";
emp.adiciona(f4);
System.out.println(emp);
/*
* Aparece assim no console:
* br.com.curso.meusTestes.Empresa@15db9742
* br.com.curso.meusTestes.Empresa@15db9742
* br.com.curso.meusTestes.Empresa@15db9742
* br.com.curso.meusTestes.Empresa@15db9742
* br.com.curso.meusTestes.Empresa@15db9742
* Porque aparece dessa maneira? Como essa numeração está igual será q ele está colocando os valores
* na mesma posicao?
*
*
* */
for (int i = 0; i < 5; i++) {
System.out.println(emp.empregados[i]);
}//nesse for estou tentando printar o array do objeto emp.empregados,mas aconteceu o mesmo q o de cima
}
}