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

[SOLUCIONADO] Error en if

Estas en el tema de Error en if en el foro de Java en Foros del Web. Escribi este programa que lee nombres de un archivo de texto y lo compara con un nombre introducido, si se encuentra una coincidencia con el ...
  #1 (permalink)  
Antiguo 20/02/2015, 15:41
 
Fecha de Ingreso: septiembre-2014
Mensajes: 66
Antigüedad: 9 años, 7 meses
Puntos: 1
Error en if

Escribi este programa que lee nombres de un archivo de texto y lo compara con un nombre introducido, si se encuentra una coincidencia con el nombre que se le pasa a la funcion te avisa. Pero no me reconoce la coincidencia no se porqué.

Código Java:
Ver original
  1. public class login{
  2.     public static void main(String...args){
  3.         System.out.print(checkId("Juan"));
  4.     }
  5.    
  6.     public static int checkId(String ID){
  7.         try{
  8.             String name;
  9.             Scanner s = new Scanner(new BufferedReader(new FileReader("ids.txt")));
  10.             while(s.hasNext()){
  11.                 name = s.next();
  12.                 System.out.println("El nombre sacado del archivo es: "+name);
  13.                 System.out.println("El nombre pasado a la funcion es: "+ID);
  14.                 if(ID==name){System.out.println("Coinciden");}
  15.                 else{System.out.println("No coinciden :(");}
  16.                 System.out.println();
  17.             }
  18.             s.close();
  19.         }catch(FileNotFoundException e){
  20.             System.err.println("No existe el archivo 'ids.txt' ");
  21.         }
  22.         return 0;
  23.     }
  24. }

En el archivo el nombre Juan es el primero, pero pareciera que esto no funcionara: if(ID==name)
  #2 (permalink)  
Antiguo 20/02/2015, 16:56
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Error en if

No funciona porque los String no se comparan con ==, tienes que usar equals.

En los objetos con == lo único que haces es comprobar si es el mismo objeto, no si su contenido es igual.
__________________
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 20/02/2015, 17:01
 
Fecha de Ingreso: septiembre-2014
Mensajes: 66
Antigüedad: 9 años, 7 meses
Puntos: 1
Respuesta: Error en if

Cita:
Iniciado por Xerelo Ver Mensaje
No funciona porque los String no se comparan con ==, tienes que usar equals.

En los objetos con == lo único que haces es comprobar si es el mismo objeto, no si su contenido es igual.
Listo gracias.

Etiquetas: programa, string
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 13:19.