Continuando a discussão do Exercicio sobre Array 5.5 apostila caelum [RESOLVIDO]:
Boa noite pessoal, sou iniciante e fiquei com algumas dúvidas a respeito do código que o ViniGodoy postou.
A primeira é: Seria possível utilizar enhanced-for, (acho que é assim que é chamado) no método mostrafuncionário??
Segunda :No segundo adiciona onde o cont é incrementado ele não precisa ser declarado?e na próxima vez que o método for chamado ele já vem com o novo valor, como ele vai lembrar ?e lista seria oque???
Valew galera, e desculpa caso eu esteja fazendo alguma pergunta boba.
Sim, pode usar o enchanced for, mas vai ter que controlar o contador manualmente. Ficaria assim:
void mostraEmpregados() {
int i = 0;
for (Funcionario funcionario : this.empregados) {
if (funcionario != null) {
System.out.println("O empregado na posicação " + i);
System.out.println("Salario do empregado: " + empregados[i].salario);
}
i++;
}
}
Nesse exemplo o cont precisa ser declarado como atributo da classe. Desse modo, o valor dele será “lembrado” para o objeto da classe poderá ser acessado em qualquer método.
A lista que ele usou no exemplo acredito que seria equivalente a empregados. Ele mudou o nome para ajudar a ilustrar a alternativa que ele propôs. No entanto, ele acabou esquecendo de mudar também o empregados:
void adiciona(Funcionario f) {
if (count < lista.length) {
empregados[cont] = f;
cont++;
}
}
Valew pelos esclarecimentos Guilherme, foi bastante útil.
Boa semana.