Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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.