class FuncionarioEx6 {
String nome;
String depto;
double salario;
Data datEntradaBanco;
String rg;
}
class Data {
int dia;
int mes;
int ano;
}
class Empresa {
String nomeEmpresa;
String cnpj;
FuncionarioEx6[] funcionarios;
int ponteiro = 0; // Contador para ir incrementando cada um dos funcionarios que estão sendo adicionados
void mostraEmpresa() {
System.out.println(this.nomeEmpresa);
System.out.println(this.cnpj);
}
void adicionar(FuncionarioEx6 f) {
this.funcionarios[ponteiro] =f; // recebe o funcionario que esta sendo adicionado
ponteiro++; // incrementa para a proxima posicao livre
}
void mostraDadosFunc() {
for(int i = 0; i < this.funcionarios.length; i++) {
FuncionarioEx6 func = this.funcionarios[i];
if(func == null) continue;
System.out.println("Nome: " + func.nome);
System.out.println("Depto: " + func.depto);
System.out.println("Salario:" + func.salario);
System.out.println("RG: " + func.rg);
System.out.println("============================================");
}
}
boolean contem(FuncionarioEx6 f) {
boolean retorno = False;
for(int i = 0; i < this.funcionarios.length; i++) {
FuncionarioEx6 func = this.funcionarios[i];
if(func == null) continue;
if(this.funcionarios[i].nome == f.nome) {
retorno = True;
}
}
return retorno;
}
}
class TestaEmpresa {
public static void main(String[] args) {
Empresa emp = new Empresa();
emp.nomeEmpresa = "Softwork";
emp.cnpj = "12345678901";
emp.mostraEmpresa();
emp.funcionarios = new FuncionarioEx6[10];
// Para utilizar o metodo adiciona, cria um funcionario e depois
// passa ele para o metodo adiciona da classe Empresa
FuncionarioEx6 f1 = new FuncionarioEx6();
f1.nome = "Ricardo";
f1.depto = "Informatica";
f1.salario = 10000.0;
f1.rg = "123456";
f1.datEntradaBanco = new Data();
f1.datEntradaBanco.dia = 10;
f1.datEntradaBanco.mes = 8;
f1.datEntradaBanco.ano = 2011;
emp.adicionar(f1); // Clase Empresa recebendo o funcionario
FuncionarioEx6 f2 = new FuncionarioEx6();
f2.nome = "Cida";
f2.depto = "Financeiro";
f2.salario = 4500.0;
f2.rg = "9876543";
f2.datEntradaBanco = new Data();
f2.datEntradaBanco.dia = 10;
f2.datEntradaBanco.mes = 8;
f2.datEntradaBanco.ano = 2011;
emp.adicionar(f2);
FuncionarioEx6 f3 = new FuncionarioEx6();
f3.nome = "Leticia";
f3.depto = "Engenharia";
f3.salario = 15000.0;
f3.rg = "12312345";
f3.datEntradaBanco = new Data();
f3.datEntradaBanco.dia = 21;
f3.datEntradaBanco.mes = 12;
f3.datEntradaBanco.ano = 2015;
emp.adicionar(f2);
emp.mostraDadosFunc();
// Porque não esta executando essa parte
boolean contemFuncionario = emp.contem(f1);
System.out.println(contemFuncionario);
if (contemFuncionario == True) {
System.out.println("O funcionario " + f1.nome + " existe na empresa");
} else { System.out.println("O funcionario " + f1.nome + " não existe na empresa");
}
}
}
Não da erro de compilação, mas quando eu executo não mostra a parte
// Porque não esta executando essa parte ???
boolean contemFuncionario = emp.contem(f1);
System.out.println(contemFuncionario);
if (contemFuncionario == True) {
System.out.println("O funcionario " + f1.nome + " existe na empresa");
} else { System.out.println("O funcionario " + f1.nome + " não existe na empresa");
}