Java - instruccion switch

 
Vista:

instruccion switch

Publicado por Alejandro (279 intervenciones) el 27/10/2006 05:03:10
Saludos compañeros, quiero implementar en un metodo una instrucción switch, pero me he encontrado con un problema. Se puede poner como centinela un string ?
Me parece que no, lo unico asignarle un entero, pero es que son muchas opciones, y quedaria un poco chapucero creo, y otra manera es hacerlo con secuencias if’s anidadas.
Me podria confirmar alguien lo del switch o si existe alguna instrucción semejante que pueda manejar strings ¿??

Gracias por adelantado.
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
sin imagen de perfil

RE:instruccion switch

Publicado por camus (240 intervenciones) el 27/10/2006 16:48:29
En efecto la sentencia switch so soporta un String, pero prodrias usar char o bien los enteros. Respecto de q puedes utilizar los if no te lo recomiendo, ya que no hay que abusar de ellos todo sea por las buenas prácticas de programación.

saludos
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

RE:instruccion switch

Publicado por Ascari Romo (36 intervenciones) el 28/10/2006 19:38:01
Aunque no se señala que sea una buena practica de programacion usar switch y una practica mala usar varios if´s anidados, a decir verdad, numerosos grandes autores, como CAY S. HORSTMANN y GARY CORNELL señalan como algo peligroso usar a switch y terminan diciendo que ellos nunca usan switch en sus programas.

En efecto, los rotulos de la clausula switch deben de ser enteros o de tipo char, incluso existe una opción más y es usar constantes enumeradas, una caracteristica nueva de la version 5.

por ejemplo defines algo como esto:

public enum Talla {MINI, MEDIANO, GRANDE, EXTRA_GRANDE};

Luego suponemos lo siguiente:

System.out.println("Introduzca la talla");
entrada = in.next().toUpperCase();
Talla talla = Enum.valueOf(Talla.class, entrada);

switch(talla)
{
...
...
}

donde "in" es una instancia de la clase Scanner, osea debes definir

Scanner in = new Scanner(System.in);

importando al paquete java.util

Recibe un cordial saludo!!
http://groups.msn.com/worldbyte
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
sin imagen de perfil

RE:instruccion switch

Publicado por camus (240 intervenciones) el 28/10/2006 22:15:05
En efecto Ascari Romo, apoyo tu idea respecto de la sentencia switch, aunque yo me referia que no es muy buena practica de programación que tengas muchas sentencias if anidadas en un programa, ya que si caemos en esto el programa se hace poco legible y dificil y complejo para los mantenimientos en un futuro.

saludos
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