Dúvida: Como aplicar o iterator usando lotes encaixantes

1 resposta
P

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.

1 Resposta

xandevieira
se vc usar um
for (Iterator iter = list.iterator(); iter.hasNext();) {
	type element = (type) iter.next();
			
}
nao te resolve?
Criado 19 de fevereiro de 2008
Ultima resposta 19 de fev. de 2008
Respostas 1
Participantes 2