Bom dia! No meu código alterei o atributo Funcionarios[] funcs para private e fiz um getter conforme o exemplo do exercício. Minhas classes EMPRESA e FUNCIONARIO estão da seguinte forma:
CLASSE EMPRESA:
(...)
private Funcionario[] funcs;
(...)
public Funcionario getFuncs(int id){
return this.funcs[id].getFunc();
}
public Funcionario pesqFuncs(int id){
return this.funcs[id].pesqFunc(this.funcs);
}
(...)
CLASSE FUNCIONARIO:
class Funcionario{
private int id;
private String nome;
private String snome;
private String rg;
private String setor;
private double salario;
public Data dtCadastro;
public void setFunc(tempFunc novoFunc){
this.id = novoFunc.id;
this.nome = novoFunc.nome;
this.snome = novoFunc.snome;
this.rg = novoFunc.rg;
this.setor = novoFunc.setor;
this.salario = novoFunc.salario;
this.dtCadastro = novoFunc.dtCadastro;
}
public void getFunc(){
System.out.println("-----------------------------------------");
System.out.println("--CADASTRO DE FUNCIONARIO----------------");
System.out.println("-----------------------------------------");
System.out.println("FUNC ID: "+this.id);
System.out.println("NOME: "+this.nome+" "+this.snome);
System.out.println("DOC: "+this.rg);
System.out.println("SETOR: "+this.setor);
System.out.println("SALARIO: R$"+this.salario);
System.out.println("DATA CAD: "+this.dtCadastro.formatData());
System.out.println("-----------------------------------------");
System.out.println("------CADASTRO EFETUADO COM SUCESSO------");
System.out.println("-----------------------------------------");
System.out.println("");
}
public void pesqFunc(Funcionario[] lista){
boolean res = false;
for(int i = 0;i < lista.length;i++){
if(lista[i] == null) continue;
if(lista[i].nome == this.nome){
res = true;
}
}
if(res){
System.out.println("---------------------------------------------------------------");
System.out.println("--PESQUISA DE FUNCIONARIO--------------------------------------");
System.out.println("---------------------------------------------------------------");
System.out.println("CADASTRO DO FUNCIONARIO "+this.nome+" "+this.snome+" ENCONTRADO");
System.out.println("---------------------------------------------------------------");
System.out.println("");
}else{
System.out.println("---------------------------------------------------------------");
System.out.println("--PESQUISA DE FUNCIONARIO--------------------------------------");
System.out.println("---------------------------------------------------------------");
System.out.println("CADASTRO DO FUNCIONARIO "+this.nome+" "+this.snome+" NÃO ENCONTRADO");
System.out.println("---------------------------------------------------------------");
System.out.println("");
}
}
}
Conforme o código acima, chamei os metodos getFunc e pesqFunc (da classe FUNCIONARIOS) pelos metodos getFuncs e pesqFuncs (da classe EMPRESA), mas em ambos os casos estou com erro no return:
incompatible types: void cannot be converted to Funcionario
Como devo declarar os metodos dentro de cada classe para que retornem as strings?
Valeu pela força!