Aprendiendo JAVA (V)Publicado por Francisco el 2008-01-08 22:14:00
Usaremos un bloque de repetición DO - WHILE cuando queramos que por lo menos se ejecute una vez el código contenido dentro del bucle. Como todos los bucles en java estos se irán ejecutando mientras se cumpla una condición que siempre estará representada por un valor booleano. Uno de los usos a los que siempre ha estado destinado el bucle DO – WHILE es al de creación de menús. Veamos un ejemplo. Lo primero que haremos será crear un nuevo proyecto en Eclipse al que llamaremos Cuatro y le añadiremos una clase llamada menu. En esta clase insertaremos el siguiente código:
Comentemos este código. Hemos creado un atributo llamado seleccionado donde guardaremos la opción de menú que seleccione el usuario, de este modo podremos mostrar el resultado según el valor de esta variable. Creamos el menú dentro del bucle DO – WHILE y añadimos la sentencia seleccionado = sc.nextInt(); para que el programa se detenga hasta que el usuario introduzca el numero de la opción que desea ejecutar y pulse intro. Cuando el usuario introduce ese numero miramos que no sea menor que 1, es decir 0 o un numero negativo, y que no sea mayor de 3. Si cumple estos requisitos continuaremos adelante con nuestro programa, en caso contrario le volveremos a mostrar el menú y esperaremos un valor correcto. Una vez tenemos un valor correcto evaluamos la variable seleccionado en el bloque switch y dependiendo de su valor ejecutaremos uno de los case de los que se compone. Si el valor fuese 1: Mostraremos la hora actual. Podríamos utilizar la clase Date y sus métodos getHours y getMinutes pero son métodos deprecated, es decir en desuso o antiguos. Así que utilizaremos la clase Calendar que esta incluida en import java.util.*; y su método getInstance. Y mostraremos el resultado por pantalla: Usamos el método Calendar.HOUR_OF_DAY que nos devuelve la hora en formato de 24 horas. Si el valor obtenido fuese 2: Mostramos el día de la semana actual. Usaremos el método Calendar.DAY_OF_WEEK de la clase Calendar. Este método nos devuelve el día de la semana como un número comenzando como el 1 al que interpreta como domingo y terminando con un 7 al que interpreta como sábado. Mediante una serie de else if damos valor a la variable DiaSemanaLetra y después mostramos el valor por la consola. Si el valor obtenido fuese un 3: Mostramos el día y el mes actual. Usaremos el método Calendar.DAY_OF_MONTH de la clase Calendar. Este método nos devuelve el día del mes y el método Calendar.MONTH nos devuelve el mes como un numero comenzando como el 0 al que interpreta como enero y terminando con un 11 al que interpreta como diciembre. El código comentado muestra que código utilizamos para mostrar el día y el mes actual. Podemos observar que el procedimiento es muy parecido al anterior cuando mostrábamos el día de la semana. En cambio luego lo hemos resulto de otra forma, solo para mostrar que para cualquier problema puede haber, y normalmente hay, múltiples soluciones. En este caso la segunda solución mejora a la primera solo en velocidad de ejecución. Siempre es mas rápido crear un array y extraer uno de sus valores, que evaluar una variable en múltiples else if. Las array las trataremos en breve. Sirva por el momento puntualizar que un array puede definirse como una colección de variables de un mismo tipo. A las que se les asigna y se les recoge un valor por medio de un índice: array [indice]. Es este caso el índice es el valor que devuelve el método DiaMes.get(Calendar.MONTH) Para probar esta clase añadiremos a nuestro proyecto Cuatro la clase TestMenu y marcaremos la casilla de public static void main(String[] args). En el procedimiento main incluiremos el siguiente codigo:
Y podremos comprobar que el programa responde cuando marcamos un 1, 2 o 3 y pulsamos el intro y en cambio si marcamos cualquier otro número nos muestra de nuevo el menú. Enlaces interesantes¿Qué puedes hacer ahora?
¡Tenemos novedades todos los días! Suscríbete gratis a MilBits
Artículos relacionados con 'Aprendiendo JAVA (V)'
Tú también puedes comentar este artículo
4 comentarios para 'Aprendiendo JAVA (V)'in diceen la linea 19 falta un cierre de llave } sino no compila, ya que el DO - WHILE aunque es una estructura junta hay que cerrarlas, como los anteriores sigue siendo un gran tuto, saludos
Francisco dice
Hemos comprobado que el formato automático del código cortaba partes de las líneas de mismo, creando un código incorrecto. juan dice me pueden decir como puedo sabe el numero de dias que tiene cada mez pacho dice olle en l codigo te falta una llave de cierre, o por lo menos cuano se la coloque me funciono... Comenta este artículo |
También puedes ver nuestros archivos.
CategoriasÚltimos comentarios
Temas populares
Programas imprescindibles |