| Artículos | 01 NOV 2004

Programación en Java (III)

Tags: Histórico
Escriba su primera aplicación
Ignacio Céspedes.
Si siguió nuestros dos capítulos anteriores, estará en disposición de crear su primera aplicación de consola. En ella aplicará algunos conceptos mencionados anteriormente.

Nivel de dificultad: Bajo
Objetivo del artículo: Iniciarse en la programación con JAVA.
Herramientas necesarias: Entorno de desarrollo JAVA.

Una vez afianzados los principales conceptos teóricos en cuanto a sintaxis y estructuras de control de flujo de una aplicación Java, es hora de intentar hacer la primera aplicación. Hemos decidido empezar por una sencilla aplicación de consola, que muestre algunos de los conceptos y estructuras mencionados en capítulos anteriores. Es posible que a lo largo del desarrollo utilicemos algunas estructuras que no habíamos mencionado hasta el momento, pero no se preocupe, iremos explicando con detalle todas y cada una de ellas.

Manos a la obra
La aplicación que proponemos nos pedirá por pantalla lo siguiente:
- Un número correspondiente al día de la semana.
- Un número que corresponda al día del mes.
- Un número que sea el mes.
- Un número que sea el año en el que nos encontramos.
El resultado final sería que una vez introducidos todos los datos por teclado, nos saliese una frase por pantalla similar a esta: Hoy es viernes 17 de septiembre de 2004. De esta forma comenzará a tener un contacto real con el lenguaje Java y poco a poco irá introduciéndose en aplicaciones más complejas.

Toma de contacto
En primer lugar tendremos que importar el paquete java.io.*, que nos permite gestionar las operaciones de entrada y salida tanto de sistema como desde ficheros. En el caso que nos ocupa lo utilizaremos únicamente para las entradas y salidas del sistema. Ver Figura 1.
Después se declara una clase denominada ejercicio1, y al final en su disco duro aparecerá un archivo denominado ejercicio1.class. Si echamos un vistazo a la siguiente línea public static void main(String args[]) podemos sacar algunas conclusiones que es conveniente ir aclarando y memorizando. Resumimos todas ellas en una pequeña tabla para que le sea más fácil la compresión de cada uno de los elementos que componen esta línea (ver tabla).
Una vez que está al corriente de los pormenores de la definición del método main ( ) seguiremos con la implementación de la aplicación. Hay que declarar todas las variables que se van a utilizar a lo largo del programa. Por lo general se van incorporando a medida que se intuye su utilidad. En este caso, como la aplicación ya está implementada, las incluiremos todas de una vez.
//Booleano para comprobar que los datos están bien metidos.
boolean estado;
// array de String que va a contener los días de la semana
String diasSemana[] = { “lunes”, “martes”, “miércoles”, “jueves”, “viernes”, “sábado”, “domingo”};
// array de String que va a contener los meses
String meses[] = {“Enero”, “Febrero”, “Marzo”, “Abril”, “Mayo”, “Junio”, “Julio”, “Agosto”, “Septiembre”, “Octubre”, “Noviembre”, “Diciembre”};
//Aquí se guardan las cadenas que introduzca el usuario
String s_diaSemana = “1”;
String s_diaMes = “1”;
String s_mes = “1”;
String s_anio = “2000”;
//Aquí se guardan los números, una vez convertidas las cadenas
int i_diaSemana = 1;
int i_diaMes = 1;
int i_mes = 1;
int i_anio = 2000;

En principio están todas las variables comentadas según la función que van a realizar dentro de la aplicación. Es posible que le llame la atención la forma de declarar el array de los días de la semana y los meses del año. La definición del array se realiza de la siguiente forma: tipo nombre [ ] = {componente1, componente2, componente3}. En el caso de que el tipo de dato sea un String, cada componente debe ir encerrado entre comillas dobles.

Visión del código pormenorizado
Una vez que ya tenemos todas las variables definidas empezaremos a desarrollar el resto del programa. Necesitaremos inicializar el buffer de entrada para leer datos del teclado. Para ello escribiremos el siguiente código:

// Inicio el buffer de entrada para leer de teclado
BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in));

Pedimos los datos por teclado, los obtenemos con readLine() que recoge en una variable los datos que se introduzcan manualmente. Deberá controlar que no tenga ningún fallo, ya que readLine() lanza una IOEXEPTION, excepción que tendría que recoger y controlarla como un error. Esto se realiza mediante la estructura que vimos en su momento Try, Catch. Fíjese en la Figura 2. Este tipo de estructura se ha de repetir siempre que el código que desarrolle sea susceptible de tener algún fallo o lance una EXEPTION, como es el caso que nos ocupa. Si observa el resto de código se dará cuenta de que se utiliza en varias ocasiones para evitar posibles errores o fallos.
Necesitamos pasar a enteros los valores que hemos recogido como cadena. Para ello utilizamos la siguiente línea de código: i_diaSemana = Integer.parseInt(s_diaSemana); y luego habrá que controlar de nuevo los errores producidos por esta transformación con una nueva estructura Try Catch como hicimos anteriormente.
Vamos a ir realizando esta operación de manera que se introduzcan todos y cada uno de los datos que conformen la fecha tal y como habíamos pensado sacar en un principio. Tendrá que ir recogiendo los valores con el método readLine() y controlar los fallos de cada uno de ellos, como ya le hemos indicado.
La estructura adecuada sería la siguiente:

System.out.print(“Introduce el dia de la semana [1..7]: “);
try
{
//Leo el dato que introduce
s_diaSemana = entrada.readLine();
// Lo paso a entero
i_diaSemana = Integer.parseInt(s_diaSemana);
}
//Catch obligatorio -> metodo readLine().
catch (java.io.IOException e)
{
estado = true;
System.out.println(“Error de entrada de datos.”);
}
//Catch optativo -> metodo parseInt().
catch (java.lang.NumberFormatException e)
{
estado = true;
System.out.println(“Formato de numero no valido.”);
}
Una vez que tengamos todos los datos correctamente introducidos por teclado, únicamente se tendrá que preocupar de ordenarlos de la forma que más le guste y presentarlos por pantalla. La manera de proceder es la siguiente:
Utilizaremos System.out.println( ), que nos permite sacar aquello que está entre los dos paréntesis por pantalla, el formato lo moldeamos a nuestro gusto. Para mostrar una cadena como la que proponíamos al comienzo, únicamente tendríamos que ordenar las variables que hemos estado obteniendo a lo largo del desarrollo de la aplicación.
System.out.println(“Hoy es “ + diasSemana[i_diaSemana - 1] + “, “ + i_diaMes + “ de “ + meses[i_mes - 1] + “ de “ + i_anio);

En esta porción de código concatenamos mediante el signo + cada uno de los elementos de la frase para que el resultado final sea como el esperado.
Debido a su extensión resulta imposible mostrar todo el código del ejemplo. Hem

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información