Alguem poderia me ajudar nesse exercico da Apostila FJ-11 da Caelum?
class Empresa {
String nome;
String cnpj;
Funcionario[] funcionarios;
int posicaoVazia = 0;
void adiciona (Funcionario f) {
this.funcionarios[this.posicaoVazia] = f;
this.posicaoVazia ++;
}
}
class Funcionario {
String nome;
String departamento;
double salario;
Data dataEntrada;
String rg;
boolean onSite;
void bonifica (double valor){
this.salario += valor;
}
void demite (){
this.onSite = false;
if (this.onSite == false) {
System.out.println ("Ativo na Empresa: Desligado da Empresa." );
}
}
void mostra () {
System.out.println ("Funcionario: " + this.nome);
this.bonifica(100);
System.out.println ("Salario Atual: " + this.salario);
this.demite();
}
}
class TestaFuncionario {
public static void main (String[] args) {
Empresa empresa = new Empresa();
empresa.funcionarios = new Funcionario[10];
Funcionario f1 = new Funcionario();
f1.nome = "Guilherme";
f1.departamento = "Intervoice";
Funcionario f2 = new Funcionario();
f2.nome = "GuiGui";
f2.departamento = "INTV";
empresa.adiciona(f1);
empresa.adiciona(f2);
for (int i = 0; i < empresa.funcionarios.length; i++) {
empresa.funcionarios[i].mostra();
}
}
}
Dá erro na execução quando chamo o metodo mostra.
Tentei utilizar o for (int x: empresa.funcionarios)… percorrendo o array no java 5, mas dá erro de compilação…
O q estaria errado???