Sinceramente não sei o que está rolando…
Estou tentando passar como parâmetro uma variável incrementada em um for, mas o resultado é esse:
Primeiro eu rodo um for, que vai de 0 à n, sendo n o tamanho de um ArrayList chamado pallets:
Depois eu atribuo o valor de n para o campo “numeroPallet”, que é um inteiro pertencente à minha classe:
-----Saída:
Então tento imprimir com o trecho:
o for corre corretamente de 0 à pallets.size(), porém, quando tento imprimir o valor contido dentro do atributo eis o que aparece:
Eis o resultado magnifico:
o problema é que i++ só incrementa apos o termino da iteração … tente ++i. fique atento vom a logica de condição para termino do laço pois ficará com uma iteração a menos no final …
abraços!
Rahmon_Marcossi
boa noite lucas, acredito que o problema não seja este pois já tentei de ambas as formas e o resultado foi o mesmo… não compreendi o que está acontecendo, de qualquer forma agradeço a ajuda.
Rodrigo_Void
A n ser que tenha mais código relevante que não foi postado, voto na opção da bruxaria
publicintgetNumeroPallet(){returnnumeroPallet;}publicvoidsetNumeroPallet(intnumeroPallet){this.numeroPallet=numeroPallet;System.out.println("DENTRO DO MÉTODO GET I VALE -> "+numeroPallet);}publicStringgetNomeCliente(){returnnomeCliente;}publicvoidsetNomeCliente(StringnomeCliente){this.nomeCliente=nomeCliente;}publicStringgetTrip(){returntrip;}publicvoidsetTrip(Stringtrip){this.trip=trip;}publicStringgetStage(){returnstage;}publicvoidsetStage(Stringstage){this.stage=stage;}publicStringgetTransportadora(){returntransportadora;}publicvoidsetTransportadora(Stringtransportadora){this.transportadora=transportadora;}publicvoidsetProdutos(ArrayList<Linha>produtos){this.produtos=produtos;}publicvoidatualizarPesoPallet(){floatpesoTotal=0;for(Linhaaux:produtos){pesoTotal+=aux.getPeso();}this.setPesoPallet(pesoTotal);}publicfloatgetPesoPallet(){returnpesoPallet;}publicvoidsetPesoPallet(floatpesoPallet){this.pesoPallet=pesoPallet;}publicvoidsetQtdTotal(intqtdTotal){this.qtdTotal=qtdTotal;}publicvoidadicionarProdutos(LinhanovoProduto){this.produtos.add(novoProduto);}publicArrayList<Linha>getProdutos(){returnprodutos;}publicintgetQtdTotal(){for(inti=0;i<produtos.size();i++){qtdTotal+=produtos.get(i).getQuantidade();}returnqtdTotal;}publicStringtoString(){returnString.format("%d",numeroPallet);}publicStringgetProdutosPallet(){StringBuffersb=newStringBuffer();for(Linhaaux:produtos)sb.append(aux.toString()+"\n");returnsb.toString();}
}
rodevops1 like
E como você está preenchendo o ArrayList de Pallets?
A falta de atenção pode estar aí, pois pelo comportamento estou imaginando posicionamentos duplicados dentro dele, por exemplo: