Aprendiendo JAVA (V) Informatica
Aprendiendo JAVA (V) - Informatica
Lista de categorias

Programas Gratis

Norton Security Scan RealPlayer Google Earth
Barra Google para IE Google Desktop Picasa Firefox con la barra Google Skype

Buscador de Videos

Foros

Lo mas buscado

 Paramotor -  Boeing - Parapente - Airbus - adobe  - adsense  - actualidad - afiliados  - Aviones  - Videos Aeronaves  -alexa  - amazon  - amor - Blog Paramotor  - chat  - coches  - ebay  - futbol  - google  - googlepack  - informatica  - Inmigracion  - microsoft  - mozilla  - Telefonos Moviles  -paypal  - photoshop  - wikipedia  - yahoo   - virus  - wii - Blog - foro - Technorati  - Camaras Digitales - MP3 - PDA - Televisores - Video Digital - Fondos de Escritorio - Mangas Verdes - Second Life -

 

site statistics
 

Alexa

 


 

Salvapantallas Gratis


Descargar


Descargar

 

  

>>

 Aprendiendo JAVA (V) - Informatica

  ---------- ----------

Aprendiendo JAVA (V)

java6.jpg

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.

menu.JPG

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:

  1. import java.util.*;
  2. public class menu {
  3. //atributos:
  4. //guardamos la opción de menú que seleccione el usuario
  5. private int seleccionado;
  6. //constructor sin parametros y sin valores.
  7. menu(){
  8. }
  9. void crearmenu(){
  10. /*creamos el menú y lo mostramos en la consola
  11. invitando al usuario a seleccionar una opción*/
  12. do{
  13. System.out.println("*****************************");
  14. System.out.println("Seleccione una opcion de menu");
  15. System.out.println("1. Que hora es?");
  16. System.out.println("2. Que dia de la semana es?");
  17. System.out.println("3. Que dia del mes es?");
  18. Scanner sc = new Scanner(System.in);
  19. seleccionado = sc.nextInt();
  20. while(seleccionado < 1 || seleccionado > 3);
  21. //hacemos un salto de línea
  22. System.out.println("
    ");
  23. //según la opción seleccionada le mostramos un resultado
  24. switch (seleccionado){
  25. case 1:
  26. /*utilizaríamos estas sentencias para mostrar la hora
  27. * pero en la versión 5.0 de java puede que no funcionen
  28. * por eso se marcan como deprecated
  29. Date Hora= new Date();
  30. String QueHora;
  31. QueHora=Hora.getHours() + ":" + Hora.getMinutes();*/
  32. //utilizaremos la clase Calendar
  33. Calendar Hora= Calendar.getInstance();
  34. System.out.println("En estos momentos son las " + Hora.get(Calendar.HOUR_OF_DAY) +
  35. ":" + Hora.get(Calendar.MINUTE) + " horas.");
  36. break;
  37. case 2:
  38. Calendar DiaSemana= Calendar.getInstance();
  39. int NumeroDia;
  40. //este método nos devuelve el día se la semana en números
  41. NumeroDia=DiaSemana.get(Calendar.DAY_OF_WEEK);
  42. String DiaSemanaLetra="";
  43. if (NumeroDia==1){DiaSemanaLetra="Domingo";}
  44. else if(NumeroDia==2){DiaSemanaLetra="Lunes";}
  45. else if(NumeroDia==3){DiaSemanaLetra="Martes";}
  46. else if(NumeroDia==4){DiaSemanaLetra="Miercoles";}
  47. else if(NumeroDia==5){DiaSemanaLetra="Jueves";}
  48. else if(NumeroDia==6){DiaSemanaLetra="Viernes";}
  49. else if(NumeroDia==7){DiaSemanaLetra="Sabado";}
  50. System.out.println("Hoy es " + DiaSemanaLetra + ".");
  51. break;
  52. case 3:
  53. Calendar DiaMes= Calendar.getInstance();
  54. /*int NumeroMes;
  55. NumeroMes=DiaMes.get(Calendar.MONTH);
  56. String DiaMesLetra="";
  57. if (NumeroMes==0){DiaMesLetra="Enero";}
  58. else if(NumeroMes==1){DiaMesLetra="Febrero";}
  59. else if(NumeroMes==2){DiaMesLetra="Marzo";}
  60. else if(NumeroMes==3){DiaMesLetra="Abril";}
  61. else if(NumeroMes==4){DiaMesLetra="Mayo";}
  62. else if(NumeroMes==5){DiaMesLetra="Junio";}
  63. else if(NumeroMes==6){DiaMesLetra="Julio";}
  64. else if(NumeroMes==7){DiaMesLetra="Agosto";}
  65. else if(NumeroMes==8){DiaMesLetra="Septiembre";}
  66. else if(NumeroMes==9){DiaMesLetra="Octubre";}
  67. else if(NumeroMes==10){DiaMesLetra="Noviembre";}
  68. else if(NumeroMes==11){DiaMesLetra="Diciembre";}
  69. System.out.println("Estamos a " + DiaMes.get(Calendar.DAY_OF_MONTH) +
  70. " de " + DiaMesLetra);*/
  71. String Meses[]= {"Enero", "Febrero", "Marzo",
  72. "Abril", "Mayo", "Junio", "Julio", "Agosto",
  73. "Septiembre", "Octubre", "Noviembre","Diciembre"};
  74. System.out.println("Estamos a " + DiaMes.get(Calendar.DAY_OF_MONTH) +
  75. " de " + Meses[DiaMes.get(Calendar.MONTH)] + ".");
  76. break;
  77. }
  78. }
  79. }

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:

menu1.JPG

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.

menu2.JPG

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)

menu3.JPG

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:

  1. public static void main(String[] args) {
  2. menu MiMenu=new menu();
  3. MiMenu.crearmenu();
  4. }

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é quieres hacer?

Más artículos sobre Informatica

 Deja tu comentario sobre este artículo


Descargar

Descargar

Descargar

Descargar

 Nuestro logo en tu Web

Colabora con ElPelaO. LLévate nuestro logo a tu web:

Programas Gratis

 Ultimos Programas


 Programa de Edición de Fotografía

Picasa es un programa gratuito que le permite organizar y editar sus fotos. 
Observa estas dos fotos. La primera es tal cual sacada de la Cámara Digital. La segunda tratada con el Programa Gratuito Picasa con solo 3 golpes de ratón.


Imagen Original


Imagen Tratada con Picasa

Ir a la Página de descarga gratuita Click aquí

<font size="1" color="#D0D0D0">Notas de PrensaRespuesta

Programas Gratis | Enlázanos | Privacidad | Mapa Contacto  RSS  

Copyright © 2001 - 2007 - ElPelaO .COM - Permitido el uso citando Fuentes y Autores 

 

 
Estadisticas y contadores web gratis
Estadisticas Gratis

 

{CAPTION}Respuesta2.0.1{CATEGORY}{DESCRIPTION}