Java - Como recorro la lista sin que se reinicie

 
Vista:
sin imagen de perfil

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
sin imagen de perfil
Val: 349
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Como recorro la lista sin que se reinicie

Publicado por Andrés (340 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
sin imagen de perfil

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