Eu gostaria de saber se dessa maneira está correto e se tem outra forma melhor?
class Funcionario {
double salario;
String nome, dataEntr, dpto, rg;
double recebeAumento() {
return this.salario *= 100;
}
}
class Empresa {
String nome;
String cnpj;
Funcionario[] funcionarios;
int livre = 0;
void adicionar(Funcionario f) {
for (int i=0; i < this.funcionarios.length; i++){
if(this.funcionarios[i] == null) continue;
System.out.println("Posicao nº " + i + " ocupada!!!");
}
}
void imprimeEmpresa(){
System.out.println("Empresa = " + this.nome);
System.out.println("CNPJ = " + this.cnpj);
for (int i = 0; i < this.funcionarios.length; i++){
Funcionario funcionario = this.funcionarios[i];
if(funcionario == null) continue;
System.out.println("Nome = " + funcionario.nome);
System.out.println("Data de Entrada = " + funcionario.dataEntr);
System.out.println("Departamento = " + funcionario.dpto);
System.out.println("RG = " + funcionario.rg);
System.out.println("Salario R$ = " + funcionario.salario);
}
}
}
class TestaEmpresa {
public static void main(String[] args) {
Data dataEntr = new Data();
Empresa emp1 = new Empresa();
emp1.nome = "Casarao das Tintas Ltda.";
emp1.cnpj = "09.039.015/0001-38";
Funcionario func0 = new Funcionario();
emp1.funcionarios = new Funcionario[10];
emp1.funcionarios[0] = new Funcionario();
emp1.funcionarios[0].nome = "Hugo";
emp1.funcionarios[0].dpto = "Setor de Compras";
emp1.funcionarios[0].rg = "33.123.456-10";
dataEntr.preencheData(9, 10, 2017);
emp1.funcionarios[0].dataEntr = dataEntr.getFormatada();
emp1.funcionarios[0].salario = 5000.0;
func0.salario = emp1.funcionarios[0].salario;
emp1.funcionarios[0].salario = func0.recebeAumento();
emp1.adicionar(emp1.funcionarios[0]);
Funcionario func1 = new Funcionario();
emp1.funcionarios[1] = new Funcionario();
emp1.funcionarios[1].nome = "Carlos Santos";
emp1.funcionarios[1].dpto = "Setor de TI";
emp1.funcionarios[1].rg = "34.111.455-11";
dataEntr.preencheData(10, 10, 2017);
emp1.funcionarios[1].dataEntr = dataEntr.getFormatada();
emp1.funcionarios[1].salario = 7000.0;
func1.salario = emp1.funcionarios[1].salario;
emp1.funcionarios[1].salario = func1.recebeAumento();
emp1.adicionar(emp1.funcionarios[1]);
Funcionario func2 = new Funcionario();
emp1.funcionarios[2] = new Funcionario();
emp1.funcionarios[2].nome = "Maria Antonia";
emp1.funcionarios[2].dpto = "Setor de Vendas";
emp1.funcionarios[2].rg = "22.222.222-22";
dataEntr.preencheData(11, 10, 2017);
emp1.funcionarios[2].dataEntr = dataEntr.getFormatada();
emp1.funcionarios[2].salario = 4000.0;
func2.salario = emp1.funcionarios[2].salario;
emp1.funcionarios[2].salario = func2.recebeAumento();
emp1.adicionar(emp1.funcionarios[2]);
emp1.imprimeEmpresa();
}
}