Estou com dificuldade para compilar o referido exercício, tentei de toas as formas, mas a instrução dentro for, this.funcinarios[i].mostra(); não compila.
class Empresa {
Funcionario[] funcionarios;
int cont = 0;
void adiciona(Funcionario f) {
this.funcionarios[cont++] = f;
}
void mostraEmpregados() {
for(int i = 0; i < funcionarios.length; i++) {
Funcionario funcionario = this.funcionarios[i];
if (funcionario == null) continue;
System.out.println("R$ " + this.funcionarios[i].salario
+ " - Nome: " + funcionario.nome + " - RG: "
+ funcionario.rg + " - Data de Admissão: " +
funcionario.dataAdmissao);
}
}
void mostraTodasAsInformacoes () {
for (int i = 0; i < this.funcionarios.length; i++) {
System.out.println("Funcionário na posição: " + i);
//this.empregados[i].mostra(); - Não compila.
//Aula0406.java:24: error: cannot find symbol
//this.empregados[i].mostra();
//^
//symbol: variable empregados
//1 error
//this.empregados[i].mostraEmpregados();
//Aula0406.java:32: error: cannot find symbol
//this.empregados[i].mostraEmpregados();
//^
//symbol: variable empregados
//1 error
}
}
}
class Funcionario {
String nome;
int salario;
String rg;
String dataAdmissao;
}
class Aula0406 {
public static void main (String[] args) {
Empresa empresa = new Empresa();
empresa.funcionarios = new Funcionario[10];
Funcionario f1 = new Funcionario();
f1.nome = "Fulano";
f1.salario = 1000;
f1.rg = "1.111.111-1";
f1.dataAdmissao = "12-12-12";
empresa.adiciona(f1);
Funcionario f2 = new Funcionario();
f2.nome = "Ciclano";
f2.salario = 1100;
f2.rg = "2.222.222-2";
f2.dataAdmissao = "11-11-11";
empresa.adiciona(f2);
Funcionario f3 = new Funcionario();
f3.nome = "Beltrano";
f3.salario = 1050;
f3.rg = "3.333.333-3";
f3.dataAdmissao = "10-10-10";
empresa.adiciona(f3);
empresa.mostraTodasAsInformacoes();
}
}
olhei a resposta para ver se estava fazendo certo e confere com meu código,.