Bom dia, seguinte, eu tenho que criar uma classe de teste para a classe Funcionario, mas eu estou me perdendo na hora de criar o funcionário, pois o exercício pede que eu crie n (lido do teclado) funcionários com dados obtidos via teclado.
Eu teria que fazer um laço, correto? Mas eu não estou conseguindo fazer.
Posta o q vc já fez p/ ajudarmos apenas na sua dúvida.
eu comecei assim, mas a minha dúvida tá na hora de chamar o construtor do Funcionario…
[code]public static void main(String args[]){
Teclado t = new Teclado();
int numFunc = t.leInt("Informe o número de funcionários: ");
for(int i = numFunc; i>0; i++){
.
.
.
.
.
.
}
}[/code]
Para instanciar o funcionário vc pode cria uma instância por funcionário e add em uma lista:
[code]public static void main(String args[]){
Teclado t = new Teclado();
List<Funcionario> listaFunc = new ArrayList<>(); // Cria a lista de funcionários
Funcionario f = null; // Variável para instanciar a classe
int numFunc = t.leInt("Informe o número de funcionários: ");
// Atenção ao seu laço, ou vc coloca de "i" até "numFunc" ou coloca "i--" para
// diminuir o valor de "i", da forma como estava vc terá um laço infinito
for (int i = 0; i < numFunc; i++) {
f = new Funcionario(); // Cria nova instância
// Atribui os valores ex:
f.setNome("Nome do funcionário");
// Após todas as propriedades atribuidas, inclui o funcionário na lista
listaFunc.add(f);
}
} [/code]
Ok, mas nesse caso, eu não preciso obrigatoriamente colocar todos numa lista, correto?
Na verdade tem, caso contrário como vc vai recuperá-los depois? Se vc criar uma instância e não add na lista, a última criada será descartada a não ser q vc crie uma variável por funcionário mas fica inviável, mesmo pq vc não tem um número fixo de funcionários.