Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Runforyourlife en 26 Noviembre 2016, 14:34 pm



Título: Problema con if de comparación de Strings
Publicado por: Runforyourlife en 26 Noviembre 2016, 14:34 pm
Comparo dos Strings que son iguales y me sale error ;(

Al ejecutarlo:
   Calculadora
--------------------------
¿Qué operación desea realizar?
Suma
SUMA (Esta línea la he insertado yo al ejecutar)
Error


Código:
import java.util.Scanner;

public class MainClass {
public static void main(String[] args){
Scanner scan = new Scanner(System.in);

System.out.println("\tCalculadora");
System.out.println("--------------------------");

System.out.println("¿Qué operación desea realizar?");
System.out.println("Suma");

String operacion = scan.nextLine();

if(operacion.toLowerCase() == "suma"){
System.out.println("Introduce los números que quieres sumar");
System.out.println("Número 1: ");
double numero1 = scan.nextDouble();
System.out.println("Número 2: ");
double numero2 = scan.nextDouble();

Suma suma = new Suma(numero1, numero2);

System.out.println(suma.getSuma());

}else{
System.out.println("Error");
}

}
}

Creo que para resolver esto no se necesita la otra clase que he creado, pero si la necesitáis os la pasaré ;)

Saludos :D


Título: Re: Problema con if de comparación de Strings
Publicado por: 0xFer en 26 Noviembre 2016, 22:01 pm
Para compara objetos de tipo String debes usar el método equals:

Código
  1. if(operacion.toLowerCase().equals("suma")){... }

el operador == es para comparar variables de tipo primitivo; int,char,double,float...


Título: Re: Re: Problema con if de comparación de Strings
Publicado por: Runforyourlife en 26 Noviembre 2016, 23:30 pm
Para compara objetos de tipo String debes usar el método equals:

Código
  1. if(operacion.toLowerCase().equals("suma")){... }

el operador == es para comparar variables de tipo primitivo; int,char,double,float...
¡Muchas gracias!  ;D