Foro de elhacker.net

Programación => Java => Mensaje iniciado por: rgomez9119 en 6 Noviembre 2016, 18:43 pm



Título: Error al comparar String con "y" o "Y"
Publicado por: rgomez9119 en 6 Noviembre 2016, 18:43 pm
Hola,
Tengo esto:

Código:
case 5: // Borrar todas las mercancias existentes
lectura.nextLine(); // Borrando buffer
System.out.println("Seguro que desea borrar todo? (Y/N): ");
String opcionBorrar = lectura.nextLine();

if (opcionBorrar == "y" || opcionBorrar == "Y")
{
mercancias.clear();
System.out.println("....................BORRADO");
}
break;

}

Al escribir y o Y por el teclado, no funciona, es como si nunca entrara en el IF.

Estoy comparando mal el String?. Se hace de otra forma?.
Espero que me ayuden.


Título: Re: Error al comparar String con "y" o "Y"
Publicado por: engel lex en 6 Noviembre 2016, 18:47 pm
esto que lenguaje es?


Título: Re: Error al comparar String con "y" o "Y"
Publicado por: Konlex en 6 Noviembre 2016, 19:13 pm
esto que lenguaje es?
es java

intenta asi:

Código:
case 5: // Borrar todas las mercancias existentes
reader.nextLine(); // Borrando buffer
System.out.println("Seguro que desea borrar todo? (Y/N): ");
String opcionBorrar = reader.nextLine();

if (opcionBorrar == "y" || opcionBorrar == "Y")
{
mercancias.clear();
System.out.println("....................BORRADO");
}
break;

}
saludos!


Título: Re: Error al comparar String con "y" o "Y"
Publicado por: rgomez9119 en 6 Noviembre 2016, 19:17 pm
no funciona.

Lo que pasa es que yo tengo esto para poder leer datos y capturarlos.

Código:
import java.util.Scanner;
Scanner lectura = new Scanner(System.in);

con esto hago esto:
Código:
System.out.println("Seguro que desea borrar todo? (Y/N): ");
String opcionBorrar = lectura.nextLine();
funciona perfecto, el problema esta al comparar el String, no se si con == es la forma correcta.

alguna otra idea?.


Título: Re: Error al comparar String con "y" o "Y"
Publicado por: engel lex en 6 Noviembre 2016, 19:18 pm
si es Java, el tema debe ir en el subforo de Java, no es programación general!

movido


Título: Re: Error al comparar String con "y" o "Y"
Publicado por: rgomez9119 en 6 Noviembre 2016, 19:22 pm
si es Java, el tema debe ir en el subforo de Java, no es programación general!

movido

cierto, gracias bro

nota: he cambiado la forma de hacer la comparacion por esta:
Código:
if (opcionBorrar.equals("y") || opcionBorrar.equals("Y"))
ahora todo funciona bien, al parecer no se puede usar == al comparar un String con "letras".

Gracias a todos por tratar de ayudarme.


Título: Re: Error al comparar String con "y" o "Y"
Publicado por: 0xFer en 6 Noviembre 2016, 22:24 pm
al parecer no se puede usar == al comparar un String con "letras".

El operador == sólo compara variables de tipo primitivo( char, int , double ....) Cualquier instancia de String es una variable de tipo objeto.