Pessoal eu fiz um codigo que acha dois valores quais quer dentro de uma lista e faz a troca. Mas só o metodo só inverte um deles e o outro mantem o mesmo numero. Isto é para ser feito
Exemplo
0-5-10-15-20
saida
0-15-10-5-20
e o meu ta saindo assim:
0-5-10-15-20
saida
0-15-10-15-20
o codigo é esse:
public void trocadevalor(int valor1, int valor2){
No tmp = primeiro;
No tmp1= primeiro;
while((tmp.getProx()!=null)&&(tmp.getValor()!=valor1)){
tmp = tmp.getProx();
}
while((tmp1.getProx()!=null)&&(tmp1.getValor()!=valor2)){
tmp1 = tmp1.getProx();
}
if(tmp !=null && tmp1 != null){
No aux = tmp.getProx();
tmp.setValor(tmp1.getValor());
aux = tmp;
No aux1 = tmp1.getProx();
tmp1.setValor(tmp.getValor());
aux1 = tmp1;
}
}
No programa principal uso dois metodos. o console que mostra na tela a lista e o outro inverte os valores. Eu to usando isso aqui no programa principal.
l.console();
l.trocadevalor(5,15);
l.console();
Grato pela ajuda.