Java - Ayuda con estructura selectiva

 
Vista:

Ayuda con estructura selectiva

Publicado por Juanjo (4 intervenciones) el 22/07/2008 13:44:05
Hola a tod@s
He estado haciendo un programa facilito , que al introducir un operador y dos numeros realiza la operacion deseada y tengo un problema en el metodo que segun el operador introducido realiza una cosa u otra.El metodo es esté:

private static void calcular(String operacion,int numero1,int numero2){

switch (operacion){
case "+":
System.out.print(numero1 + numero2);
case "-":
System.out.print(numero1 - numero2);
case "*":
System.out.print(numero1 * numero2);
case "/":
System.out.print(numero1 / numero2);
default:
System.out.print("ERROR al introducir el operador");
}
}

El problema que me da es el siguiente:

C:juanjoOperador.java:31: incompatible types
found : java.lang.String
required: int
switch (operacion){
^
1 error

Process completed.

Y segun he entedido yo, el problema es que la cadena es incompatible con el "switch".
Si alguien me supiera decir una solucion me sería de gran ayuda.Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con estructura selectiva

Publicado por Rene Gonzalez (115 intervenciones) el 22/07/2008 17:08:09
Switch trabaja con enteros y con caracteres (no encontre contraejemplos).
Podrias tener una variable tipo int previa que sirva como indice del operador que se ingrese. Por ejemplo, si tienes una variable entera llamada "operador":

Si se ingresa un "+" --> operador = 0
Si se ingresa un "-" --> operador = 1
Si se ingresa un "*" --> operador = 2
Si se ingresa un "/" --> operador = 3

Y con "operador" construyes el switch.

Otra opcion es cambiar de String a char, ya sea en los parametros del metodo, o despues, utilizando algun tipo de casting.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar