pessoal estou com dificuldade em exibir os dados do meu arraylist… só consigo visualizar o último elemento! Xele imprime o tamanho correto do array, se tiver 2 elementos no array, por exemplo, será exibido o ultimo elemento 2X.
na minha classe funcionario eu tenho os gets e sets.
alguem pode da uma olhada aí. vlw
segue o codigo:
Melhor, mostra aí como você está criando os funcionários e adicionando-os ao array da classe FuncionarioAction.
Acho que vc pode estar dando mole em alguma coisa.
Estou desconfiado disso por causa desse Funcionario funcionario = new Funcionario(); na sua classe.
M
marcosjava
bruno… fiz a alteração, mas continua exibindo o ultimo elemento…
franciscossouza, o metodo que eu quero que imprima eh o listarFuncionarios… só que nesse metodo to querendo que o retorno seja do tipo Funcionario…
pessoal estou com dificuldade em exibir os dados do meu arraylist… só consigo visualizar o último elemento! Xele imprime o tamanho correto do array, se tiver 2 elementos no array, por exemplo, será exibido o ultimo elemento 2X.
na minha classe funcionario eu tenho os gets e sets.
alguem pode da uma olhada aí. vlw
Por acaso a cada vez que você adicionou um novo funcionário ao ArrayList, você lembrou de ter dado um new Funcionario() antes para criar ele, ou está usando o mesmo objeto sempre?
M
marcosjava
aqui o codigo de FuncionarioAction, onde tenho meus metodos:
e aqui o codigo da classe Main, onde to testando os metodos…
publicclassMain{publicstaticvoidmain(Stringargs[]){Funcionariof=newFuncionario();FuncionarioActionfa=newFuncionarioAction();Scannerscanner=newScanner(System.in);System.out.println("tem algum usuario a sr cadastrado?");Stringresp=scanner.next();while(resp.equalsIgnoreCase("sim")){System.out.println("informe o nome que deseja cadastrar: ");Stringnome=scanner.next();System.out.println("senha ");Stringpassword=scanner.next();System.out.println("cidade ");Stringcidade=scanner.next();System.out.println("informe o sexo: ");Stringsexo=scanner.next();System.out.println();f.setNome(nome);f.setPassword(password);f.setCidade(cidade);f.setSexo(sexo);fa.setFuncionario(f);//fa.salvarFuncionario(f);fa.salvar();System.out.println("desejar cadastrar mais algum? ");resp=scanner.next();System.out.println();}System.out.println("Tem "+fa.tamanhoArray()+" funcionario cadastrado");fa.listarFuncionarios();}
M
marcosjava
bruno laturner, tentei fazer isso no metodo da classe FuncionarioAction! e os elementos ficam null, mas era pra ter sido feito no main?!?!
bsl.lacerda
Vc tem que dar new em funcionário dentro do while.
franciscossouza
Marcos, ele não está imprimindo apenas o último funcionário!
Ele está adicionando na lista duas vezes o mesmo objeto.
Adicione um:
f=newFuncionario();
na linha 19 da classe Main, para que seja gerada uma nova instância.
M
marcosjava
era isso mesmo!!!
faltava criar uma nova instancia…
estava preocupado em criar nos metodo e nao na classe Main…