Está en la página 1de 16

Entrada de datos

Mara Luisa Velasco Ramrez

En java la entrada, al igual que la salida de realiza mediante flujos, por flujo se entiende a las secuencias de datos que provienen desde una fuente, como por ejemplo el teclado. Los flujos actan como intermediarios entre el programa y el origen o destino de la informacin que ste lee o escribe en el flujo y puede hacer abstraccin sobre la naturaleza de la fuente.

Para poder introducir datos mediante flujos utilizaremos la biblioteca java.io, esta ser declarada al principio antes de la clase, y la sintaxis es de la siguiente forma:
import java.io.*;

Un flujo (stream) es una conexin a un fuente o un destino de datos Hemos visto como se puede imprimir un dato a la pantalla mediante la instruccin System.out.println() System.out es un ejemplo de un flujo estndar de salida (outstream) Tambin hay un flujo estndar de entrada (instream) llamado System.in

Con el flujo estndar de entrada System.in slo podemos leer caracteres:


char c = (char)System.in.read();

//leyendo caracteres import java.io.*; public class Letras { public static void main(String argS[]) throws IOException { char primero, ultimo; System.out.println("Introduzca su primera y ultima inicial:"); System.out.flush(); primero = (char)System.in.read(); ultimo = (char)System.in.read(); System.out.print("hola,"+primero+"."+ ultimo+"\n"); } //cierra main } //cierra class

La entrada de datos en Java se efecta mediante la lectura de bytes, la entrada bsica de suele realizarse mediante el mtodo readLine () que pertenece a la clase BufferedReader, el cual se encarga de leer una secuencia de caracteres y devuelve una cadena. Para esto se debe construir un objeto de la clase BufferedReader sobre otro de la clase InputStreamReader el cual debe de estar asociado a System.in, mismo que se va a encargar de convertir a cadena los bytes ledos desde el teclado. Nos quedar algo de la siguiente forma.

BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in));

Donde la palabra entrada puede ser sustituida por otra que el programador considere a su gusto.

Lectura de una cadena y conversin de la cadena en nmero. Cuando tratamos con valores numricos de tipo int o long aplicaremos los siguientes mtodos que proporcionan un mecanismo de conversin adecuado.

Integer.parseInt Integer.parseLong

Tambin est disponible: parseDouble()

//Leyendo enteros int dato; // creando un objeto llamado entrada especializado en capturas BufferedReader entrada = new BufferedReader ( new InputStreamReader(System.in)); System.out.println("Introduzca un dato entero:"); System.out.flush(); dato=Integer.parseInt(entrada.readLine()); System.out.print("hola,el dato que escribiste es: "+dato+".!\n");

import java.io.*; public class EnteroDouble{ public static void main (String a[]) throws IOException { double dato; // creando un objeto llamado entrada especializado en capturas


} }

BufferedReader entrada = new BufferedReader ( new InputStreamReader(System.in)); System.out.println("Introduzca un dato double:"); System.out.flush(); dato=Double.parseDouble(entrada.readLine()); System.out.print("hola,el dato que escribiste es: "+dato+"\n");

Ejercicio
Repetir el ejercicio : Elaborar un programa en Java para calcular el promedio de calificaciones de un estudiante que cursa 5 experiencias educativas, debe incluir el mtodo constructor que establezca el nombre del alumno. Slo que ahora en el mtodo calcular promedio mediante un for van a leer cada una de las 5 calificaciones (de tipo entero).

Leyendo cadenas de caracters String nom; BufferedReader teclado = new BufferedReader(new InputStreamReader(System.in)); // capturando datos System.out.println("dame nombre: "); nom=teclado.readLine();

//Leyendo Float y Double double base, altura; Float d; BufferedReader entrada = new BufferedReader ( new InputStreamReader(System.in)); System.out.println("Base del Triangulo:"); System.out.flush(); d= Float.valueOf(entrada.readLine()); //Double.valueOf(entrada.read.. base= d.floatValue(); //base=d.doubleValue(); //Ahora se pide la altura System.out.println("Altura del Triangulo:"); System.out.flush(); d =Float.valueOf(entrada.readLine()); altura=d.floatValue(); System.out.print("hola, el area es = "+base*altura/2);

También podría gustarte