Java - Como recorro la lista sin que se reinicie

   
Vista:

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

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Como recorro la lista sin que se reinicie

Publicado por Andrés (337 intervenciones) el 28/10/2017 15:47:51
Prueba:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public void ingresarnum() {
 
	int ban = 0;
 
	while (JOptionPane.YES_OPTION == ban) {
 
		int numero1 = Integer.parseInt(JOptionPane.showInputDialog("Ingrese dato"));
		int numero2 = Integer.parseInt(JOptionPane.showInputDialog("Ingrese dato"));
 
		int suma = numero1 + numero2;
		int mayor = Math.max(numero1, numero2);
 
		lista.Final(numero1);
		lista.Final(numero2);
		lista.Final(suma);
		lista.Final(mayor);
 
		ban = JOptionPane.showConfirmDialog(null, "Desea ingresar otro dato", "INGRESO", JOptionPane.YES_NO_OPTION);
 
	}
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como recorro la lista sin que se reinicie

Publicado por miguel (2 intervenciones) el 30/10/2017 01:33:48
Funciono! es una manera diferente de hacerlo, pero lo importante es que funciona, muchas gracias por responder y ayudarme :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad