Java - Problema con ciclo while

 
Vista:
sin imagen de perfil
Val: 3
Ha aumentado su posición en 7 puestos en Java (en relación al último mes)
Gráfica de Java

Problema con ciclo while

Publicado por Jose Luis (3 intervenciones) el 09/04/2020 17:52:43
Tengo un problema y no logro entender el por que falla.
Estoy con un pequeño programa que tiene que salir cuando se introduce el numero 0. Pero es que al meterlo no sale y sigue funcionando. Os pongo el codigo.

1
2
3
4
5
6
7
8
9
10
11
int numero=1,num,cont=0;
float result=0;
 
while(numero!=0) {
    num=Integer.parseInt(JOptionPane.showInputDialog("Introduzca numero"));
    result=result+result;
    cont++;
}
 
result=result/cont;
System.out.printf("1.2F", "El resultado es: " + result);

Con este codigo cuando pongo 0 en en num sigue ejecutandose y no veo el por que. gracias
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
Imágen de perfil de Camilo
Val: 110
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Problema con ciclo while

Publicado por Camilo (25 intervenciones) el 09/04/2020 20:17:31
La variable numero no se está cambiando dentro del while, ese es el problema
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
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Problema con ciclo while

Publicado por Billy Joel (876 intervenciones) el 09/04/2020 21:51:02
Estas asignando el valor de lo que se ingresa a la variable num, pero la variable que se evalúa es numero

Acá está la corrección

1
2
3
4
5
6
7
8
9
10
11
12
int numero = 1, num, cont = 0;
float result = 0;
 
while (numero != 0) {
    //num = Integer.parseInt(JOptionPane.showInputDialog("Introduzca numero"));
    numero = Integer.parseInt(JOptionPane.showInputDialog("Introduzca numero"));
    result = result + result;
    cont++;
}
 
result = result / cont;
System.out.printf("1.2F", "El resultado es: " + result);

Saludos,
Billy Joel
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