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

Problema con dos condiciones en bucle while

Estas en el tema de Problema con dos condiciones en bucle while en el foro de Java en Foros del Web. Estoy haciendo un programilla en java y me he encontrado con este problema. En un momento dado hago un bucle while que evalua dos condiciones ...
  #1 (permalink)  
Antiguo 21/09/2009, 03:11
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Problema con dos condiciones en bucle while

Estoy haciendo un programilla en java y me he encontrado con este problema.

En un momento dado hago un bucle while que evalua dos condiciones con un OR. El caso es que aunque no se cumpla ninguna de las dos condiciones, el programa se mete dentro del while.

Por lo visto el while no está funcionando bien con las dos condiciones, porque si pongo una sóla, funciona perfectamente. El código es el siguiente:

Código:
Lectura l = new Lectura();
		String opcion = null;
		opcion = l.leerString();
		String opcionElegida = opcion.toUpperCase().trim();
		//Control de la opción elegida
		while (!opcionElegida.equals("S") || !opcionElegida.equals("N")) {
			System.out.println("Por favor introduzca el dato correcto (S/N)");
			opcion = l.leerString();
		}
leerString() es un método que implementé para introducir datos en consola. Estoy introduciendo una S.

¿Alguien tiene idea de por qué pasa esto y como solucionarlo?
Se agradecería una respuesta rápida.

Un saludo

Última edición por Fuzzylog; 21/09/2009 a las 03:12 Razón: El codigo tenia una modificacion que no queria poner
  #2 (permalink)  
Antiguo 21/09/2009, 03:33
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Problema con dos condiciones en bucle while

Corrijo, era un AND en vez de un OR. Ya está solucionado.
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 20:53.