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.
M
maxcanoas
eu comecei assim, mas a minha dúvida tá na hora de chamar o construtor do Funcionario..
publicstaticvoidmain(Stringargs[]){Tecladot=newTeclado();intnumFunc=t.leInt("Informe o número de funcionários: ");for(inti=numFunc;i>0;i++){......}}
fabiocortolan
Para instanciar o funcionário vc pode cria uma instância por funcionário e add em uma lista:
publicstaticvoidmain(Stringargs[]){Tecladot=newTeclado();List<Funcionario>listaFunc=newArrayList<>();// Cria a lista de funcionáriosFuncionariof=null;// Variável para instanciar a classeintnumFunc=t.leInt("Informeonúmerodefuncioná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 infinitofor(inti=0;i<numFunc;i++){f=newFuncionario();// Cria nova instância// Atribui os valores ex:f.setNome("Nomedofuncionário");// Após todas as propriedades atribuidas, inclui o funcionário na listalistaFunc.add(f);}}
M
maxcanoas
Ok, mas nesse caso, eu não preciso obrigatoriamente colocar todos numa lista, correto?
fabiocortolan
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.