Heyyyyyyyyyyyyyyy

Aprende a programar microcontroladores en C... http://tecdigitaldelbajio.com/software-tarjeta.html

miércoles, 9 de septiembre de 2009

Instrucción de selección Múltiple



Hasta el momento se ha mostrado en el blog, programas que hacen uso de sentencias if que nos llevan a realizar una o dos acciones, aunque usando if’s anidados se pueden realizar más acciones, pero el código se vuelve, podemos decir más complejo.
Existe en java una instrucción que me permite evaluar el valor de una variable y decidir qué acción tomar de una o muchas más acciones, un diagrama de la instrucción se puede ver en la figura siguiente.


Usando esta estructura se evalúa el valor de la variable, esta variable puede tomar “n” valores y según el valor de la variable sigue uno de todos los caminos posibles.

Sintaxis para la instrucción de selección múltiple

La sintaxis exacta de esta instrucción es la siguiente:

Inicia con la sentencia siguiente:

switch ( variable ) {

Entre paréntesis se escribe la variable a evaluar, después de la anterior sentencia se escriben cada uno de los casos posibles, usando las sentencias siguientes:


case 0: //Instrucciones para cuando la variable vale 0
                                                     break;
                                          case 1: //Instrucciones para cuando la variable vale 1
                                                     break;



El break es usado para decirle a Java que se termina el caso y se finaliza la instrucción, se procede de esa forma a colocar los casos necesarios, existe un caso, el denominado “default”, que si no se cumple ningún caso de los anteriores, ejecuta ese caso, su sintaxis es:
                                        
                                          default: //Instrucciones para cuando la variable no cumple ningún caso anterior
                                                    break;

finalmente con una } se cierra el switch y se termina la instrucción. Enseguida se ve un ejemplo para que les quede más claro a os lectores.

Ejemplo

Imagínese que me piden realizar un programa que pida un número entre 1 y 7 y que me diga que día de la semana es, suponiendo que 1 es el día lunes, 2 el martes y así sucesivamente.

Solución

Se crea la interfaz de usuario, se requiere un simple objeto TextField para ingresar el número y un objeto stringItem para mostrar el resultado. Primero se lee el valor usando las sentencia getString() como ya se ha visto infinidad de veces, se cambia el valor a entero, por si el lector no lo recuera enseguida se muestra el código que hace lo dicho anteriormente:

Valor = TextField.getText();
intValor = Integer.ParseInt(valor)


Enseguida se realizan las comparciones respectivas para mostrar el mensaje correspondiente, esto como se imaginaran se puede realizar fácilmente con varios if´s, pero el objetivo es usar la nueva instrucción, la sintaxis de la instrucción de selección múltiple es como sigue:

switch( intValor) {
case 1: stringItem.setText(“El día es lunes”);
case 2: stringItem.setText(“El día es martes”);
case 3: stringItem.setText(“El día es lunes”);
// … etc…
case 7: stringItem.setText(“El dia es lunes”);
case default: stringItem.setText(“ERROR: ingresaste un número incorrecto, debe ser entre 1 y 7”);
}


Para reforzar el tema se muestra en la animación siguiente los caminos que toma la instrucción cuando se ejecuta el código anterior. Basta con que el lector coloque un número en el cuadro de texto y de clic en el botón para que se ejecute la animación, inclusive puede el lector colocar números negativos o mayores a 7 para que vea el camino que sigue el flujo de programa




>



Pues creo que con la animación quedo muy claro comofunciona la instrucción, recuerde, se evalua el valor y se sigue un solo camino de instrucciones de muchos posibles y se termina la instrucción.
Bueno eso es todo de esta instrucción, en el post siguiente mostraremos un ejemplo completo de esta instrucción y hablaremos de cómo buscar errores lógicos en un programa o como comúnmente se le llama se verá como depurar o “debuggear” el programa usando netbeans.


1 comentario:

  1. me encantan tus aminaciones, haber si te animas a comentar como lo haces

    ResponderEliminar