entrada de datos

16
Entrada de datos María Luisa Velasco Ramírez

Upload: mtemarialuisa

Post on 27-Jun-2015

2.840 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Entrada De Datos

Entrada de datos

María Luisa Velasco Ramírez

Page 2: Entrada De Datos

• 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”.

Page 3: Entrada De Datos

• 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.*; 

Page 4: Entrada De Datos

• 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

Page 5: Entrada De Datos

• Con el flujo estándar de entrada System.in sólo podemos leer caracteres:

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

Page 6: Entrada De Datos

• //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

Page 7: Entrada De Datos

• 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.  

Page 8: Entrada De Datos

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

Page 9: Entrada De Datos

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

Page 10: Entrada De Datos

• 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.

Page 11: Entrada De Datos

• Integer.parseInt Integer.parseLong 

• También está disponible: parseDouble()

Page 12: Entrada De Datos

• //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");

Page 13: Entrada De Datos

• 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");

• }• }

Page 14: Entrada De Datos

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).

Page 15: Entrada De Datos

• Leyendo cadenas de caracters

• String nom;

• BufferedReader teclado = new BufferedReader(new InputStreamReader(System.in));

• // capturando datos

• System.out.println("dame nombre: ");

• nom=teclado.readLine();

Page 16: Entrada De Datos

• //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);