entrada de datos

Post on 27-Jun-2015

2.840 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Entrada de datos

María Luisa Velasco Ramírez

• 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 actúan como intermediarios entre el programa y el origen o destino de la información que éste lee o escribe en el flujo y puede hacer abstracción 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 conexión a un fuente o un destino de datos

• Hemos visto como se puede imprimir un dato a la pantalla mediante la instrucción System.out.println()

• System.out es un ejemplo de un flujo estándar de salida (outstream)

• También hay un flujo estándar de entrada (instream) llamado System.in

• Con el flujo estándar de entrada System.in sólo 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 efectúa mediante la lectura de bytes, la entrada básica de suele realizarse mediante el método 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 leídos 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 conversión de la cadena en número. Cuando tratamos con valores numéricos de tipo int o long aplicaremos los siguientes métodos que proporcionan un mecanismo de conversión adecuado.

• Integer.parseInt Integer.parseLong 

• También 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 método constructor que establezca el nombre del alumno. Sólo que ahora en el método 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);

top related