Vous êtes sur la page 1sur 36

Lectura de datos desde teclado

En esta prctica se va a desarrollar una aplicacin interactiva simple en Java, que solicita al usuario escribir datos de entrada en el teclado. La lectura de los
datos se va a realizar desde la lnea de monados y a travs de una ventana de dilogo.

Software necesario
Se requiere tener instalado el software requerido (JDK y NetBeans IDE) en el ordenador como se describe aqu. Tambin es necesario descargar la
documentacin Java:
Fichero zip Java SE 6 Documentation (download)
o Desplazar hacia abajo hasta ver Java SE 6 Documentation. Descargar el fichero zip.
o Se puede almacenar el fichero zip en cualquier parte del sistema de directorios.
o No se requiere descomprimir el fichero.
o Se aadir en NetBeans como se describe abajo.

Ejercicios
Ejercicio 0: Descargar el fichero zip de documentacin JDK 6
Ejercicio 1: Lectura de datos desde teclado con BufferdReader
Ejercicio 2: Lectura de datos desde teclado con JOptionPane
Tarea

Ejercicio 0: Descarga de documentacin JDK


1. Usando un navegador Internet, ir a http://www.oracle.com/technetwork/java/javase/downloads/index.html
2. Bajar en la pgina y seleccionar el botn de descarga de la documentacin Java SE 6.

3. Guardar el fichero en un directorio cualquiera

El nombre del fichero es algo parecido

jdk-6u19-docs.zi

Ejercicio 1: Lectura de datos desde el teclado usando la clase BufferedReader


En este ejercicio, se va a construir una aplicacin sencilla que obtiene la entrada de datos desde teclado. EL programa usar las clases BufferedReader
e InputStreamReader para recibir los datos de entrada. Tambin se aprender a usar Javadoc para obtener ms informacin de las clases Java.
1.

Construir y ejecutar el programa Java GetInputFromKeyboard

2.

Convertir los valores de entrada de tipo String a un valor de tipo int

3.

Mostrar Javadoc en una manera sensitiva al contexto dentro de NetBeans IDE

(1.1) Construir y ejecutar el programa Java GetInputFromKeyboard


1. Crear un proyecto NetBeans

Seleccionar del men superior File y seleccionar New Project.

Aparece el dilogo New Project.

Seleccionar Java en la seccin Categories y Java Application en la seccin Projects.

Click Next.

En la seccin Name and Location, en el campo Project Name escribir MyGetInputFromKeyboardProject.

En el campo Create Main Class, escribir GetInputFromKeyboard. (Figura-1.10)

Click Finish.

Figura-1.10: Creacin de MyGetInputFromKeyboardProject

Observar que el nodeo del proyecto MyGetInputFromKeyboardProject se crea en el panel Projects de NetBeans IDE y que se genera y
muestra GetInputFromKeyboard.java en la ventana del editor.

2. Modificar el cdigo generado GetInputFromKeyboard.java como se muestra en Cdigo-1.11. Estudiar el cdigo prestando atencin a los comentarios en
negrita. Por ahora se usarn las clases BufferedReader and InputStreamReader sin entrar en ms detalles.
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
import java.io.BufferedReader;

import java.io.IOException;
import java.io.InputStreamReader;
/**
*
* @author
*/
public class GetInputFromKeyboard {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// Create BufferedReader object from Standard input device.
// Standard input device is typically a keyborad.
BufferedReader dataIn = new BufferedReader(new
InputStreamReader( System.in) );
// Prompt a user to enter his/her name
String name = "";
System.out.println("Please Enter Your Name:");
// Read data into name variable
try{
name = dataIn.readLine();
}catch( IOException e ){
System.out.println("Error!");
}
// Display the name
System.out.println("Hello " + name +"!");
}
}
Cdigo-1.11: GetInputFromKeyboard.java
3. Construir (Build) y ejecutar (Run) el programa

Hacer click con el botn derecho del ratn en MyGetInputFromKeyboardProject y seleccionar Run.

Observar que el programa espera una entrada del usuario.

Escribir un nombre debajo de la lnea "Please Enter Your Name:" en la ventana Output y pulsar la tecla Enter. (Figura-1.12)

Figura-1.12: Ingreasr nombre

Observar que se muestra en la ventana Output Hello <nombre escrito >. (Figura-1.13 y Figura-1.14 below)

Please Enter Your Name:


Sang Shin
Hello Sang Shin!

Figura-1.13: Resultado

Figura-1.14: Impresin de datos ingresados


4. Modificar GetInputFromKeyboard.java para que lea la edad (age) como se muestra en Cdigo-1.15. El fragmento de cdigo que se rquiere aadir se
muestra resaltado en negrita y de color azul.
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
*
* @author
*/
public class GetInputFromKeyboard {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// Create BufferedReader object from Standard input device.
// Standard input device is typically a keyboard.
BufferedReader dataIn = new BufferedReader(new
InputStreamReader( System.in) );
// Prompt a user to enter his/her name
String name = "";
System.out.println("Please Enter Your Name:");
// Read entered data into name variable
try{
name = dataIn.readLine();
}catch( IOException e ){
System.out.println("Error!");
}
// Display the name
System.out.println("Hello " + name +"!");
// Prompt a user to enter his/her age
String age= "";
System.out.println("Please Enter Your Age:");

// Read entered data into age variable


try{
age = dataIn.readLine();
}catch( IOException e ){
System.out.println("Error!");
}
// Display the name and age
System.out.println("Hello " + name +"!" + " " + "Your age is " + age);
}
}
Cdigo-1.15: Aadir cdigo para pedir al usuario ingrese su age
5. Construir y ejecutar el programa

Hacer click con el botn derecho del ratn en MyGetInputFromKeyboardProject y seleccionar Run.

Observar que el programa espera una entrada de usuario.

Escribir un nombre y pulsar la tecla Enter.

Escribir la edad (age) y pulsar la tecla Enter.

Observar que se mueatra el mensaje Hello <nombre ingresado >, en la ventana Output window del IDE. (Figura-1.16)

Please Enter Your Name:


Sang Shin
Hello Sang Shin!
Please Enter Your Age:
100
Hello Sang Shin! Your age is 100
Figura-1.16: Impresin del nombre y edad
Volver al inicio del ejercicio

(1.2) Convertir los valores de entrada de tipo String a un valor de tipo int
Supongamos que se queire aadir la siguiente lgica al programa.
Si la edad (age) es mayor a 100, mostrar

Hello <name>, you are old!


En otro caso
Hello <name>, you are young!
Notar que en el cdigo anterior, el programa recibe age como de tipo String. Por ello no se puede comparar el tipo String "99" con el tipo primitivo int 100.
En otras palabras, se tiene que convertir el tipo String "99" a tipo int 99 antes de compararlo con otro tipo int 100.
Para ello existe un mtodo llamado parseInt() en la clase Integer para convertir el tipo String en tipo int.
1. Visualizar la documentacin Java (Javadoc) para la clase Integer.

En un navegador ir a http://download.oracle.com/javase/6/docs/api/

Observar que se muestra la pgina raz de Javadoc.

Desplazar abajo para ver la clase Integer en el recuadro inferior izquierdo.

Click Integer.

Observar que se muestra la documentacin de la clase Integer en la seccin derecha del navegador. (Figura-1.20)

Desplazar abajo para visualizar el mtodo parseInt(String s).

Observar que es un mtod static. (Figura-1.21)

Pulsar en el hiperelace del mtodo parseInt(String s).

Observar que se muestra la informacin detallada del mtodo. (Figura-1.22)

Notar que el mtodo lanza la excepcin NumberFormatException.

2. Modificar GetInputFromKeyboard.java para leer la edad ( age) como se muestra en Cdigo-1.23. El fragmento que se necesita aadir est resaltado
en negrita y color azul.
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
*
* @author
*/
public class GetInputFromKeyboard {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// Create BufferedReader object from Standard input device.
// Standard input device is typically a keyboard.
BufferedReader dataIn = new BufferedReader(new
InputStreamReader( System.in) );
// Prompt a user to enter his/her name
String name = "";
System.out.println("Please Enter Your Name:");
// Read entered data into name variable
try{
name = dataIn.readLine();
}catch( IOException e ){
System.out.println("Error!");
}
// Display the name
System.out.println("Hello " + name +"!");
// Prompt a user to enter his/her age
String age= "";
System.out.println("Please Enter Your Age:");

// Read entered data into age variable


try{
age = dataIn.readLine();
}catch( IOException e ){
System.out.println("Error!");
}
// Display the name and age
System.out.println("Hello " + name +"!" + " " + "Your age is " + age);
// Convert the String type of age variable into int primitive type variable ageint.
int ageint = Integer.parseInt(age);
// Now you can compare the int primitive type against int type value 100
if (ageint > 100){
System.out.println("Hello " + name +"!" + " " + "You are old.");
} else{
System.out.println("Hello " + name +"!" + " " + "You are young.");
}
}
}
Cdigo-1.23: Modificacin de GetInputFromKeyboard.java
5. Construir y ejecutar el programa

Hacer click con el botn derecho del ratn MyGetInputFromKeyboardProject y seleccionar Run.

Observar que el programa espera una entrada del usuario.

Escribir un nombre ,y pulsar la tecla Enter.

Escribir la edad (age) y pulsar la tecla Enter.

Observar que se muestra el mensaje Hello <nombre ingresado >, en la ventana Output del IDE.

Observar que se muestra el mensaje completo (Figura-1.24 below)

Please Enter Your Name:


Sang Shin
Hello Sang Shin!
Please Enter Your Age:
23
Hello Sang Shin! Your age is 23

Hello Sang Shin! You are young.


Figura-1.24: Resultado de ejecutar la aplicacin
Volver al inicio del ejercicio

(1.3) Mostrar Javadoc en una manera sensitiva al contexto dentro de NetBeans IDE
En este ejercicio, se visualiza la documentacin de la clase Integer en formato sensitivo al contexto. Antes de realizar este paso, asegurarse de havber
descargado el fichero zip del la documentacin del JSDK (download) en un directorio.
1. Aadir el fichero J2SE Development Kit Documentation 6.0 a NetBeans.

Seleccionar del men superior Tools y seleccionar Java Platform. (Figura-1.31)

Observar que aparece la ventana de dilogo del Java Platform Manager.

Hacer click en la pestaa Javadoc.

Click Add ZIP/Folder. (Figura-1.32)

Figura-1.32: Aadir fichero Javadoc

Observar que aparece la ventana de dilogo Add ZIP/Folder.

Buscar en el directorio donde se decarg el fichero zip jdk-6-docs.zip.

Seleccionar el fichero zip jdk-6-docs.zip y pulsar en Add ZIP/Folder. (Figura-1.33)

Figura-1.33: Seleccin del fichero jdk-6-docs.zip

Observar que el fichero jdk-6-doc.zip se muestra en la seccin Platform Javadoc. (Figura-1.34)

Click Close.

Figura-1.34: adicin del fichero jdk-6-doc.zip


2. Usar Javadoc en un contexto sensitivo.

Mover el cursor encima de la cadena Integer en el editor del cdigo fuente de NetBeans.

Seleccionar Show Javadoc. (Figura-1.35)

Observar que Javadoc de la clase Integer se muestra en el navegador (Figura-1.36)

Mostrar la documetacin Java en contexto sobre la clase String.

Resumen
En este ejercicio, se ha visto cmo leer datos ingresados a travs del dispositivo estandar de entrada, el teclado. Tambin se ha visto el uso en lnea de
la documentacin Java y cmo mostrar el Javadoc de una clase a traves del formato sensitivo al contexto.
Volver al inicio

Ejercicio 2: Lectura de datos desde teclado con JOptionPane


En este ejercicio, se construir la misma aplicacin del ejercicio 1 pero con la utilizacin de la clase JOptionPane.
1.

Build y run un programa Java que usa operadores condicionales

(2.1) Build y run un programa Java que usa operadores condicionales


1. Crear un proyecto NetBeans

Seleccionar File en el men principal y seleccionar New Project.

Aparece el dilogo New Project.

Seleccionar Java en la seccin Categories y Java Application en la seccin Projects.

Click Next.

En la seccin Name and Location, en el campo Project Name, escribir MyInputFromKeyboardJOptionPaneProject.

En el campo Create Main Class, escribir InputFromKeyboardJOptionPane.

Click Finish.

Observar que el nodo del proyecto MyInputFromKeyboardJOptionPaneProject se crear en la seccin Projects de NetBeans y se genera en
la ventana del editor el fichero InputFromKeyboardJOptionPane.java.

2. Modificar el fichero generado InputFromKeyboardJOptionPane.java.

Modifcar InputFromKeyboardJOptionPane.java como se muestra en Cdigo-2.21. Los fragmentos de cdigo a aadir estn resaltados en
negrita y color azul.

import javax.swing.JOptionPane;
/*
* InputFromKeyboardJOptionPane.java
*
* Created on January 24, 2010, 10:46 AM
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
/**
*
* @author
*/
public class InputFromKeyboardJOptionPane {
/** Creates a new instance of InputFromKeyboardJOptionPane */
public InputFromKeyboardJOptionPane() {
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String name = "";
name=JOptionPane.showInputDialog("Please enter your name");
String msg = "Hello " + name + "!";
JOptionPane.showMessageDialog(null, msg);
}
}
Cdigo-2.21: InputFromKeyboardJOptionPane.java modificado
3. Construir y ejecutar el programa

Hacer click con el botn derecho del ratn en MyInputFromKeyboardJOptionPaneProject y seleccionar Run.

Aparece la ventana de dilogo Input.

Escribir un nombre. (Figura-2.22)

Click OK.

Figura-2.22: Ingresar nombre

Observar que aparece la ventana de dilogo Message.

Figura-2.23: Impresin de Message

Resumen
En este ejercicio, se ha construdo la misma aplicacin del Ejercicio 1 utilizando en este caso la clase JOptionPane.
Volver al inicio

Fuente: http://personales.unican.es/corcuerp/java/Labs/LAB_3.htm

Vous aimerez peut-être aussi