Olá Pessoal... O meu método boolean "contem(Funcionarios f) "não está retornando true e nem false, segue classe empresa e teste :
public class Empresa {
String nome;
String cnpj;
Funcionarios Arrayfuncionarios[];
int livre = 0;
void adicionaFuncionario(Funcionarios f) {
this.Arrayfuncionarios[this.livre] = f;
this.livre++;
}
void mostraFuncionariosEmpresa() {
for (int i = 0; i < this.livre; i++) {
if (Arrayfuncionarios[i] == null)
continue;
System.out.print("Funcionario na posição " + i + " : ");
// System.out.println(Arrayfuncionarios[i].nome + " com salário de R$" + Arrayfuncionarios[i].salario);
Arrayfuncionarios[i].mostraFuncionario();
}
}
boolean contem(Funcionarios f) {
for (int i = 0; i < this.livre; i++) {
if (f == Arrayfuncionarios[i]) {
return true;
}
}
return false;
}
}
public class Teste {
public static void main(String[] args) {
Empresa citel = new Empresa(); // criando a empresa citel
citel.Arrayfuncionarios = new Funcionarios[10]; // criando array de funcionarios da empresa citel
Funcionarios f001 = new Funcionarios(); // criando funcionario f001
f001.dataEntradaFunc = new Datas();
// atributos de f001
f001.nome = "Hugo";
f001.id = "1234";
f001.rg = "12.345.678-09";
f001.salario = 4200.0;
f001.empresa = "CitelGroup";
f001.dataEntradaFunc.preencheData(8, 9, 2016);
//atributos f002
Funcionarios f002 = new Funcionarios();
f002.dataEntradaFunc = new Datas();
f002.nome = "Adriano";
f002.salario = 9000.0;
f002.empresa = "CitelGroup";
Funcionarios f004 = new Funcionarios();
citel.adicionaFuncionario(f001); // adicionando funcionario em array de
// empresa
citel.adicionaFuncionario(f002);
citel.contem(f004);
}
}