Foros del Web » Programación para mayores de 30 ;) » Java »

Problema con el While

Estas en el tema de Problema con el While en el foro de Java en Foros del Web. Estoy aprendiendo java y estaba haciendo un pequeño programita para mostrar dinero con la cotizacion del dolar. pero no me funciona el While nunca me ...
  #1 (permalink)  
Antiguo 28/07/2012, 16:42
 
Fecha de Ingreso: junio-2011
Mensajes: 54
Antigüedad: 12 años, 10 meses
Puntos: 1
Información Problema con el While

Estoy aprendiendo java y estaba haciendo un pequeño programita para mostrar dinero con la cotizacion del dolar. pero no me funciona el While nunca me parece el desea continuar estoy cerrando mal una llave? Les dejo el codigo


Código Java:
Ver original
  1. package examen1;
  2.  
  3. import java.util.Scanner;
  4.  
  5. public class Examen1 {
  6.    
  7.     private static final String YES = "S";
  8.        
  9.         public static void main(String[] args) {
  10.                 String condition = YES;
  11.                 Scanner scan = new Scanner(System.in);
  12.                 int monto, dolar, resultado;
  13.                
  14.                 while (YES.equals(condition)) {
  15.                     System.out.println("Ingrese el monto en Pesos: ");
  16.                     monto=scan.nextInt();
  17.                     System.out.println("Ingrese cotizacion del Dolar: ");
  18.                     dolar=scan.nextInt();
  19.                     resultado=monto*dolar;
  20.                     System.out.println("En dolares es:" +resultado);
  21.                 }
  22.                
  23.         System.out.println("Desea continuar?");
  24.         condition = scan.nextLine().toUpperCase();
  25.         }
  26. }
  #2 (permalink)  
Antiguo 28/07/2012, 18:27
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Problema con el While

Cita:
while (YES.equals(condition))
Repite mientras YES sea igual a condition

¿Cuándo cambias el valor de condition?
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 28/07/2012, 18:32
 
Fecha de Ingreso: junio-2011
Mensajes: 54
Antigüedad: 12 años, 10 meses
Puntos: 1
Respuesta: Problema con el While

System.out.println("Desea continuar?");
condition = scan.nextLine().toUpperCase();

aca si yo pongo otra letra que no sea "s" debería terminar el while
  #4 (permalink)  
Antiguo 28/07/2012, 21:59
Avatar de cristiantorres  
Fecha de Ingreso: marzo-2012
Mensajes: 383
Antigüedad: 12 años, 1 mes
Puntos: 61
Respuesta: Problema con el While

Pero la pregunta la haces fuera del while eso tiene que ir dentro.

Te dejo una solucion.
Código java:
Ver original
  1. public static void main(String[] args) {      
  2.         boolean resp = true;
  3.         int monto, dolar, resultado;
  4.         while(resp == true){
  5.              System.out.println("Ingrese el monto en Pesos: ");
  6.              monto=scan.nextInt();
  7.              System.out.println("Ingrese cotizacion del Dolar: ");
  8.              dolar=scan.nextInt();
  9.              resultado=monto*dolar;
  10.              System.out.println("En dolares es:" +resultado);
  11.              
  12.              System.out.println("Desea continuar? S/N");
  13.              String condition = scan.next();
  14.              if (condition.equalsIgnoreCase("s"))
  15.                 resp = true;
  16.              else
  17.                 resp = false;                          
  18.         }
  19.     }
Como veras uso una variable boolean y el ciclo se repetirá mientras la variable sea igual a true y añ final preguntas al usuario y capturas el valor y dependiendo de este cambias la variable bool.

Saludos
__________________
Visita mi Blog C#, vb.net, asp.net, sql, java y mas...
Blog Cristian Torres

Etiquetas: bucle
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:01.