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

[SOLUCIONADO] No me reconoce la variable el if

Estas en el tema de No me reconoce la variable el if en el foro de Java en Foros del Web. Hola, estoy empezando en java, vengo de PHP y quiero saber más programación! es mi droga!, tengo un código que recoge un String del teclado ...
  #1 (permalink)  
Antiguo 31/08/2015, 07:00
 
Fecha de Ingreso: junio-2005
Mensajes: 107
Antigüedad: 18 años, 10 meses
Puntos: 0
No me reconoce la variable el if

Hola, estoy empezando en java, vengo de PHP y quiero saber más programación! es mi droga!, tengo un código que recoge un String del teclado lo convierte a int, pero a la hora de hacer el if este no lo reconoce como tal, pero al hacer el do while si que lo hace¿Qué es lo que estoy haciendo mal?

package guis;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class crarFichero
{
public static void menu()
{
System.out.println("Selecciones la opción que quiere realizar en su agenda:");
System.out.println("--------------------------------------------------------");
System.out.println("1 - ESCRITURA EN FICHERO");
System.out.println("2 - LECTURA EN FICHERO");
System.out.println("3 - SALIR DEL SISTEMA");
System.out.println("--------------------------------------------------------");
}
public static void main(String[] args) throws IOException
{

//Elegimos la opción
BufferedReader lector=new BufferedReader(new InputStreamReader(System.in));
int eleccionFin;
do
{
//Mostramos el menu
menu();
String eleccion = lector.readLine();
eleccionFin=Integer.parseInt(eleccion);
//AQUÍ ESTA EL FALLO, NO RECONOCE NI EL UNO NI EL DOS
if(eleccionFin !=1 || eleccionFin != 2 || eleccionFin != 3)
{
System.out.println("Elige una opción correcta");
}
else
{
System.out.println("OPCION CORRECTA");
}
}while(eleccionFin!=3);
}
}
  #2 (permalink)  
Antiguo 31/08/2015, 07:51
inazense
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: No me reconoce la variable el if

El problema está en la condición que le das usando el || (or).
Lo que le estás diciendo al if es que si el número elegido no es 1, o no es 2 o no es 3 no elija la opción correcta.
Una variable int no puede ser tres numeros a la vez, así que la condición siempre se cumplirá.

Para hacer que funcione deberías decir que si el numero elegido no es 1, Y no es 2 Y tampoco es 3, muestre el mensaje de la opción correcta.

Es decir, esto:

Código Java:
Ver original
  1. if(eleccionFin !=1 && eleccionFin != 2 && eleccionFin != 3)
  #3 (permalink)  
Antiguo 31/08/2015, 07:59
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: No me reconoce la variable el if

Buenas,

Aparte de lo que te comenta inazense, por favor, haz uso de la herramienta 'Highligt' del editor de mensajes para facilitar la legibilidad de tu codigo.


Un saludo
__________________
If to err is human, then programmers are the most human of us
  #4 (permalink)  
Antiguo 31/08/2015, 08:23
 
Fecha de Ingreso: junio-2005
Mensajes: 107
Antigüedad: 18 años, 10 meses
Puntos: 0
Respuesta: No me reconoce la variable el if

Gracias a los dos! lo haré.
  #5 (permalink)  
Antiguo 03/09/2015, 12:13
Avatar de luisdavid1993  
Fecha de Ingreso: julio-2015
Ubicación: Anaco Venezuela
Mensajes: 78
Antigüedad: 8 años, 9 meses
Puntos: 2
Respuesta: No me reconoce la variable el if

otra opcion podria ser esta

Código Java:
Ver original
  1. if(eleccionFin > 3){
  2. System.out.println("Elige una opción correcta");
  3. }
__________________
"Lucha por tus sueños o alguien te contratara para que cumplas los de el"

Etiquetas: programa, reconoce, string, variable
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 01:26.