Crearemos el ejercicio 1 , pero ahora haremos la solicitud de los datos va
teclado.
Crear una clase llamada Personas que tenga tres variables, dos tipo String y una tipo int; las variables que almacenarn cadenas de texto sern nombre y apellido; la variable que almacenar el entero nmbrela edad. En la clase cree un mtodo llamado datosPersonales, este mostrar en pantalla un mensaje donde se concatene el contenido de las tres variables. Cree la clase de entrada al sistema, en ella declare un objeto de la clase Personas, con este asigne valores a cada variable e invoque finalmente el mtodo. Ing. Jos Oswaldo Barrera Montes 1 Desarrollo:
Primero har algunas aclaraciones importantes.
Cada vez que en el enunciado no se le especifique que el mtodo retorna un valor, entonces el mtodo debe ser void, de lo contrario debe asignar un valor de retorno, el cual puede ser cualquier tipo de dato primitivo de Java, as como alguno creado por nosotros mismos(cada vez que definimos una clase estamos creando nuestro propio tipo de dato, cuyo nombre ser igual que la clase); este tipo de retorno depender de las especificaciones del enunciado o del anlisis previo que usted realice a la hora de dar solucin a un problema planteado. Muchas veces se tiende a creer que un mtodo que retorna valores los imprime en pantalla, esa es una concepcin errnea, pues, cuando un mtodo retorne un valor lo que est haciendo es devolviendo ese resultado al lugar de su invocacin, por supuesto que en ese lugar si puede provocarse la impresin del resultado.
Generalmente en la asignatura imprimiremos el resultado de todos los mtodos para efectos de comprobacin de resultados. Ing. Jos Oswaldo Barrera Montes 2 Desarrollo:
Ing. Jos Oswaldo Barrera Montes 3 Desarrollo:
Ing. Jos Oswaldo Barrera Montes 4 Cada vez que usted desee hacer una captura de datos va teclado(o si as se le especificara) debe escribir esta lnea al inicio del programa, lo que se est haciendo ah es importar un paquete de clases, dentro de las cuales est Scanner, con la cual podemos hacer capturas de datos. Es importante aclarar que no es la nica manera de hacer capturas, pero s quiz la ms sencilla y con la que estaremos trabajando en la asignatura. Desarrollo:
Ing. Jos Oswaldo Barrera Montes 5 En esta lnea se est creando un objeto de la clase Scanner, esto provocar un error si no se ha escrito la lnea 1. El nombre del objeto es valorDigitado, usted puede llamarlo como mejor le guste. La parte que se muestra entre parntesis, debe escribirse tal como se visualiza, en ella estamos indicando que es una captura la que se har. Desarrollo:
Ing. Jos Oswaldo Barrera Montes 6 Estamos mostrando en pantalla el mensaje: Digite el nombre del estudiante: Seguramente ya not que ahora la lnea de impresin en pantalla es System.out.print en vez de System.out.println, la diferencia entre ambas no es simplemente ln, cuando usamos la primera estamos indicando a la mquina virtual de Java que no se haga ningn salto de lnea en el instante que el mensaje se muestre, lo cual es ideal a la hora de hacer una solicitud va teclado, pues al utilizar la segunda se mostrar el puntero de insercin en la siguiente lnea. Si hace un repaso del tema tres de la primera unidad recordar que se abordaron las secuencias de escape, aqu se estn utilizando dos \n, lo cual significa que hay dos saltos de lnea antes que el mensaje se muestre. Usted puede hacer la prueba del resultado si los quita. No olvide que una secuencia de escape siempre debe escribirse dentro del mensaje. Desarrollo:
Ing. Jos Oswaldo Barrera Montes 7 Ya que se guardar una cadena de texto se escribe de esta manera: el objeto de la clase Scanner, el operador punto seguido del mtodo que permite almacenar cadenas de texto; tambin puede utilizar next() en vez de nextLine() cuando se trate de almacenar un String. El valor que se digit se almacenar en la variable nombre, de la clase Personas, vea que al realizar el almacenaje en una variable que se encuentra en otra clase, debemos acceder a ella a travs de un objeto de esa clase, el cual, para este caso, ya se cre en la lnea 19. Usted puede hacer pruebas intentando guardar en esa variable sin hacer uso del objeto (claro le saldr un error! Pero es bueno tambin acostumbrarnos a los tipos de errores.) A continuacin se muestran otros mtodos que pueden utilizarse dependiendo del tipo de dato que se est capturando:
Para el tipo byte : nextByte() Para el tipo short : nextShort() Para el tipo int : nextInt() Para el tipo float : nextFloat() Para el tipo double : nextDouble() Para el tipo long : nextLong() Para el tipo String : nextLine() y next() Desarrollo:
Ing. Jos Oswaldo Barrera Montes 8 Aqu se est haciendo lo mismo que ya se explic en la imagen anterior. Desarrollo:
Ing. Jos Oswaldo Barrera Montes 9 La misma explicacin dada a las lneas 21 y 22 aplica para estas, con la excepcin que ahora estamos almacenando un nmero entero, por tanto el mtodo utilizado es nextInt().
Quiero aclarar que en ninguno de los ejercicios planteados hasta hoy se est validando si el tipo de dato que se est intentado almacenar es el correcto, se est asumiendo una programacin ideal (por decirlo de una forma), en donde se piensa que el usuario hace lo que se le dice y no ingresa una cadena en vez de un entero o algn otro tipo. El tema de las excepciones y captura de errores no es parte de la asignatura, aunque no estara de ms abordarlo, pero lo ms importante por ahora es adquirir el dominio prctico y conceptual del contenido principal de la materia. Desarrollo:
Ing. Jos Oswaldo Barrera Montes 10 nicamente se est mostrando en pantalla un mensaje, el cual no es obligatorio para el buen funcionamiento del ejercicio, es puramente cuestin presentacin. Desarrollo:
Ing. Jos Oswaldo Barrera Montes 11 Se est invocando el mtodo datosPersonales. Vea que ahora no es necesaria la declaracin de este simplemente se utiliza su nombre, si el mtodo tuviera parmetros deberamos enviar argumentos, pero como no es ese el caso solo se escriben sus parntesis vacos. Compilacin y ejecucin del programa:
Ing. Jos Oswaldo Barrera Montes 12 En esta imagen puede visualizar el funcionamiento del ejercicio. Usted puede compilar desde donde mejor le parezca, ac puede verse que el programa se ha ejecutado desde el escritorio.