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

[SOLUCIONADO] Problema con If

Estas en el tema de Problema con If en el foro de Java en Foros del Web. Hola pues estoy aprendiendo Java como segundo lenguaje de programación y se como funcionan los ifs y su lógica pero no entiendo porque no funcionan ...
  #1 (permalink)  
Antiguo 04/10/2014, 11:32
 
Fecha de Ingreso: marzo-2014
Mensajes: 12
Antigüedad: 10 años, 1 mes
Puntos: 0
Problema con If

Hola pues estoy aprendiendo Java como segundo lenguaje de programación y se como funcionan los ifs y su lógica pero no entiendo porque no funcionan aquí. Lo que quiero hacer es una calculadora muy simple, pero el problema es que las sentencias de los ifs no funcionan! y directamente se van al else.

Código:
import java.util.Scanner;

public class Calculadora {
	public static void main(String[] args) {
		
		double primer_num;
		double segundo_num;
		double resultado= 0;
		String operacion;
		
		Scanner leer_teclado= new Scanner(System.in);
		
		System.out.println("Bienvenido a Calculadora CMD");
		System.out.println("Ingrese el primer número: ");
		primer_num= leer_teclado.nextFloat();
		System.out.println("Ingrese el signo de la operación a realizar");
		operacion= leer_teclado.next();
		System.out.println("Ingrese el segundo número: ");
		segundo_num= leer_teclado.nextFloat();
		
		if(operacion == "+") {
			resultado= primer_num + segundo_num;
		}
		else if(operacion == "-") {
			resultado= primer_num - segundo_num;
		}
		else if(operacion == "*"){
			resultado= primer_num * segundo_num;
		}
		else if(operacion == "/") {
			resultado= primer_num / segundo_num;
		}
		else {System.out.println("Operador no valido");}
}
}
  #2 (permalink)  
Antiguo 04/10/2014, 13:16
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: Problema con If

Buenas,

Con el operador == estás comparando las referencias de los objetos y no su contenido.

Para comparar cadenas en java debes hacer uso del método equals().

Por ejemplo:

if ("+".equals(operacion)) {
.....



Un saludo
__________________
If to err is human, then programmers are the most human of us
  #3 (permalink)  
Antiguo 04/10/2014, 17:25
 
Fecha de Ingreso: octubre-2014
Mensajes: 2
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Problema con If

Te recomiendo hacer un swicheo

Por ej:
Código PHP:
switch(operacion)
{
case 
'+':
{
//...
}
case 
'-':
{
//...
}
case default:   
//...


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 04:07.