sentencia switch
hola quisiera saber si en una sentencia switch
puedo hacer esto:
Switch (expresion[contador]
case: ("+" or " * " or "/") and ( "1" or "2")
{
haga algo
}
donde expresion es una cadena string y contador un ciclo para ir recorriendo la cadena.
- descobar1410's blog
- Inicie sesión o regístrese para enviar comentarios
no
En Java 7 creo que ya podrás usar cadenas en switch, pero hoy en día solamente con tipos numéricos. Y de todas maneras no se puede lo de expresión y contador.
En qué lenguaje es válido eso?
En java se "podría" hacer
En java se "podría" hacer algo como esto:
Pero no quiere decir que sea buena idea. Lo que se está haciendo ahí es revisar si el primer caracter es el simbolo y si el segundo es 1 o 2
Esto mismo se puede hacer con una expresion regular
Así:
Y se lee exactamente como lo necesitas:
El primer caracter es + o * o / y el segundo es o 1 o 2
Aquí te va un ejemplo completo usando ambas, el switch y la expresion regular.
Sale así:
La ventaja de la expresion regular es que puedes fácilmente ( cuando ya las dominas ) modificarla y por ejemplo ignorar los espacios en blanco:
Eso dice lo mismo que lo anterior, pero además dice que puede haber 0 o más espacios en blanco.
Lo siguiente sigue funcionando con esa regexp
y
P.D. Si necesitas evaluar expresiones aritméticas, un simple switch no te va a bastar. Tienes que hacer algo más complejo ( aunque no tanto )
Este es el primer link que encontré: