entrada de datos
Post on 27-Jun-2015
2.840 Views
Preview:
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