How do I get the mostraEmpregados
method to print the name of the employees I've already added?
How to construct the array within the Enterprise class declaration itself, so that every time a Empresa
is instantiated, the array of Funcionario
that it needs is also created?
package meu.programa;
public class Funcionario {
String nome;
String departamento;
double salario;
Data dataDeEntrada;
String rg;
boolean estaNaEmpresa = true;
void recebeAumento(double valorDoAumento) {
salario += valorDoAumento;
System.out.println("O salario atual do funcionario " + this.nome + " eh: " + this.salario);
}
void calculaGanhoAnual () {
double ganho = salario * 12;
System.out.println("O ganho anual do funcionario " + this.nome + " eh: " + ganho);
}
void demite () {
if (this.estaNaEmpresa == true) {
this.estaNaEmpresa = false;
System.out.println("O funcionario " + this.nome + " foi demitido ...");
}
else {
System.out.println("O funcionario ja foi demitido ...");
}
}
void mostra () {
System.out.println("Nome: " + this.nome);
System.out.println("Departamento: " + this.departamento);
System.out.println("Salario: " + this.salario);
System.out.println("Data de entrada na empresa: " + this.dataDeEntrada.dataFormatada());
System.out.println("RG: " + this.rg);
System.out.println("É funcionario da empresa: " + this.estaNaEmpresa);
}
}
.
class Empresa {
String nome;
String cnpj;
Funcionario[] empregados;
void adiciona(Funcionario f) {
int contador = 0;
this.empregados[contador] = f;
contador++;
if(contador == this.empregados.length) {
System.out.println("A array está cheio ...");
}
}
void criaArray (int n) {
this.empregados = new Funcionario [n];
}
void mostraEmpregados() {
for (int i=0; i <= this.empregados.length; i++) {
System.out.print("Funcionario na pos.: " + i);
System.out.println(" Nome:" + this.nome);
}
}
}
And another class to test the Enterprise class:
package meu.programa;
public class TestaEmpresa {
public static void main(String[] args) {
// TODO Auto-generated method stub
Empresa empresa = new Empresa();
empresa.criaArray(5);
Funcionario f1 = new Funcionario();
f1.nome = "Victor";
Funcionario f2 = new Funcionario();
f2.nome = "Guilherme";
empresa.adiciona(f1);
empresa.adiciona(f2);
empresa.mostraEmpregados();
}
}