Boa tarde, sou iniciante em Java, tenho o seguinte problema.
Tenho uma lista recuperada com códigos de local de trabalho e códigos e quantidades de materiais, percorrendo essa lista usando o iterator consigo sumarizar as quantidades desejadas por código de local e código de material, mas o último elemento da lista esta sendo descartado porque preciso dar o comando next e o while valida a condição hasNext, vide trecho do programa, que tratamento devo fazer para não descartar o último elemento.
private static void listarMovimentos(MovimentoBusiness movEjb){
List<Movimento> lista = movEjb.obterMovimentos("01/12/1997", "01/06/1997");
ListIterator iterator = lista.listIterator();
Movimento mov = (Movimento) iterator.next();
while (iterator.hasNext()){
Local loc = mov.getLocal();
String desLocal = mov.getLocal().getDescricao();
String desMat=new String();
Integer codMat=0;
while (iterator.hasNext() && loc.equals(mov.getLocal())){
Material mat = mov.getMaterial();
desMat = mat.getDescricao();
codMat = mat.getId();
Integer quant=0;
while (iterator.hasNext()&& loc.equals(mov.getLocal()) && mat.equals(mov.getMaterial())){
quant=quant+mov.getQuantidade();
mov = (Movimento) iterator.next(); }
System.out.println("Local Trabalho : "+desLocal + " Material " + codMat +"-"+desMat + " " + quant);
}
}
}
EDIT - por favor, use as tags " [ code ] " para que seu código seja mais fácil de ler.