No código abaixo, se faz necessário chamar o método "adiciona", na classe do main. Porém, é necessário tirar a condição "(funcionario==null)" do método imprimeEmpresa?
class Empresa{
FuncionarioEmpresaa[] funcionarios;
String nome, cnpj;
int livre = 0;
void adiciona(FuncionarioEmpresaa f) {
this.funcionarios[this.livre] = f;
this.livre++;
}
void imprimeEmpresa(){
System.out.println(" CNPJ da Empresa........................> " + cnpj);
System.out.println(" Nome da Empresa........................> " + nome);
for(int i=0; i< this.funcionarios.length; i++){
System.out.println(" ");
FuncionarioEmpresaa funcionario = this.funcionarios[i];
if(funcionario==null) continue;
System.out.println(" Nome do Funcionário.................> " + funcionario.nome);
System.out.println(" Data da entrada do funcionário......> " + funcionario.dataDeEntrada.mostraData());
System.out.println(" Nome do departamento................> " + funcionario.departamento);
System.out.println(" RG do funcionário...................> " + funcionario.rg);
System.out.println(" Salário do funcionário..............> " + funcionario.salario);
}
}
}
class FuncionarioEmpresaa{
String nome;
String departamento;
double salario, salarioAnual;
String rg;
Data dataDeEntrada;
void recebeAumento (double aumento){
this.salario+= aumento;
}
double calculaGanhoAnual(){
return salarioAnual = this.salario * 12;
}
}
class Data{
int dia, mes, ano;
void preencheData (int dia, int mes, int ano){
this.dia = dia;
this.mes = mes;
this.ano = ano;
}
String mostraData(){
return this.dia+"/"+this.mes+"/"+this.ano;
}
}
Classe Main
class TestaFuncionarioEmp{
public static void main(String[] args) {
Empresa f1 = new Empresa();
f1.funcionarios = new FuncionarioEmpresaa[3];
f1.funcionarios[0] = new FuncionarioEmpresaa();
f1.cnpj="57.627.876/0001-80";
f1.nome="Vetor Aula Ltda";
f1.funcionarios[0].nome = "Teotonio Novaes";
f1.funcionarios[0].dataDeEntrada = new Data();
f1.funcionarios[0].dataDeEntrada.preencheData(05,10,2017);
f1.funcionarios[0].departamento = "Testando Department";
f1.funcionarios[0].rg = "26.104.65-X";
f1.funcionarios[0].salario = 100.00;
f1.funcionarios[0].recebeAumento(50);
f1.funcionarios[1] = new FuncionarioEmpresaa();
f1.funcionarios[1].nome = "Jenivalson Valdisney Tavraerss";
f1.funcionarios[1].dataDeEntrada = new Data();
f1.funcionarios[1].dataDeEntrada.preencheData(05,12,2017);
f1.funcionarios[1].departamento = "Labs Department";
f1.funcionarios[1].rg = "11.765.65-5";
f1.funcionarios[1].salario = 280.00;
f1.funcionarios[1].recebeAumento(23);
f1.imprimeEmpresa();
}
}