Olá Pessoal. Já tentei de diversar formas imprimir essa array, mas sem sucesso.
Alguma sugestão?
class Empresa {
Funcionario[] funcionarios;
void adiciona(Funcionario f1) {
Funcionario f = new Funcionario();
}
void imprimeEmpregados() {
for(int i = 0; i < funcionarios.length; i++) {
Funcionario funcionario = this.funcionarios[i];
if (funcionario == null) continue;
System.out.println("Nome: " + funcionario.nome +
". Salário: " + funcionario.salario +
". RG: " + funcionario.rg +
". Data de Admissão: " + funcionario.dataAdmissao);
}
}
}
class Funcionario {
String nome;
int salario;
String rg;
String dataAdmissao;
}
class TestaEmpresa {
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);
imprimeEmpregados(f1);
}
}
O código está com alguns erros:
1 . O método : imprimeEmpregados(f1); não existe na classe TestaEmpresa e sim na classe Empresa
2. A declaração do método: imprimeEmpregados(f1); não recebe argumentos e na chamada você esta passando um funcionario
3. No método:
void adiciona(Funcionario f1) {
Funcionario f = new Funcionario();
}
você não está adicionando nenhum funcionário no array.
concertando esses erros vai funcionar certinho.
De fato, muito falta de atenção.
Com suas dicas funcionou perfeitamente.
Valeu!!!!
Amigo, também não é aconselhável criar as instâncias dos objetos em outras classes. como:
void adiciona(Funcionario f1) {
Funcionario f = new Funcionario();
}
Crie o Funcionario f= new Funcionario(); no método principal, método main.
Ok. Muito Obrigado.