Como recorro la lista sin que se reinicie
Publicado por miguel (2 intervenciones) el 26/10/2017 00:07:17
Hola gente espero estén bien, vengo porque tengo una duda y me gustaria que alguien me dijera como solucionar este problema.
esto es lo que debo hacer
crear una lista donde los 2 primeros son números ingresados por el usuario y el 3ro es la suma de los 2 valores ya ingresados y el 4to es el mayor de los 2 números ingresados.
Todo en el código funciona correcto, excepto que cuando el usuario decide ingresar mas nodos, la suma y el mayor siempre son los mismos de la suma de los 2 primeros ingresados.
este es el codigo
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
esto es lo que debo hacer
crear una lista donde los 2 primeros son números ingresados por el usuario y el 3ro es la suma de los 2 valores ya ingresados y el 4to es el mayor de los 2 números ingresados.
Todo en el código funciona correcto, excepto que cuando el usuario decide ingresar mas nodos, la suma y el mayor siempre son los mismos de la suma de los 2 primeros ingresados.
este es el codigo
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package ld2;
import javax.swing.JOptionPane;
public class Ld2 {
NodoDoble lista, q;
public static void main(String[] args) {
Ld2 l = new Ld2();
l.crear();
l.ingresarnum();
l.imprimir();
}
public void crear() {
lista = new NodoDoble();
}
public void ingresarnum() {
int ban = 0;
while(ban == 0){
for (int j=0; j<2; j++){
lista.Final(Integer.parseInt(JOptionPane.showInputDialog("Ingrese dato")));
}
lista.Final(sumar());
lista.Final(mayor());
ban = JOptionPane.showConfirmDialog(null, "Desea ingresar otro dato", "INGRESO", JOptionPane.YES_NO_OPTION);
moverq();
}
}
public int sumar(){
int suma = 0;
q=lista.getCabeza();
if(!lista.VerificarLista())
suma += Integer.parseInt(q.getDato().toString())+ Integer.parseInt(q.getSiguiente().getDato().toString());
return suma;
}
public Object mayor(){
q=lista.getCabeza();
if(Integer.parseInt(q.getDato().toString()) > Integer.parseInt(q.getSiguiente().getDato().toString())){
return q.getDato();
}else{
return q.getSiguiente().getDato();
}
}
public void moverq(){
q=lista.getCabeza();
for(int k=0; k<=3; k++)
q=q.getSiguiente();
}
public void imprimir(){
lista.Imprimir();
}
}
Valora esta pregunta
0