T4 - Entrada y salida en java
-
Upload
daniel-santiago-martinez -
Category
Education
-
view
6.343 -
download
2
description
Transcript of T4 - Entrada y salida en java
Tema – 4Entrada y salida en Java
PROGRAMACIÓN – Daniel Santiago 2
4.1. Entrada
• La entrada estándar del ordenador es el teclado.
• Java nos ofrece las herramientas necesarias para leer los datos que un usuario introduce en un programa a través del teclado.
• Para ello, se emplea el objeto System.in, perteneciente a la clase InputStream.
PROGRAMACIÓN – Daniel Santiago 3
4.1. Entrada
• El objeto System.in ofrece diversos métodos para leer del teclado. El más básico es el método read.
• Ejemplo:char variable = (char) System.in.read();
• El método read devuelve el código ASCII, en decimal, del carácter introducido.
• El método read permite leer un único carácter a la vez.
PROGRAMACIÓN – Daniel Santiago 4
4.1. Entrada
• Ejemplo de programa que lee un carácter del teclado:public static void main(String args[]){
char c;try{
c = (char)System.in.read();System.out.println(“Has escrito la letra ” + c);
}catch(Exception e){
System.out.println(e); }}
PROGRAMACIÓN – Daniel Santiago 5
4.1. Entrada
• En el ejemplo puede llamar la atención una estructura que aún no conocemos: los bloques try/catch.
• Sirven para tratar excepciones, es decir, posibles errores que puedan darse durante la ejecución de un programa.
• Las excepciones se tratarán en el tema 7.
PROGRAMACIÓN – Daniel Santiago 6
4.1. Entrada
• Para no tener que leer de carácter en carácter, Java ofrece una clase diferente: la clase BufferedReader.
• Creamos un objeto de la clase BufferedReader a partir de la clase InputStream.
• Ejemplo:InputStreamReader isr = new InputStreamReader(System.in);BufferedReader br = new BufferedReader(isr);
PROGRAMACIÓN – Daniel Santiago 7
4.1. Entrada
• Para leer una frase del teclado, utilizaremos el siguiente método de la clase Bufferedreader: readLine().
• Este método lee todos los caracteres introducidos por el usuario hasta detectar un salto de línea (INTRO).
• Ejemplo:String frase = br.readLine();
PROGRAMACIÓN – Daniel Santiago 8
4.1. Entrada• Ejemplo de programa que lee una frase del teclado:
import java.io.*;class Programa{public static void main(String args[]){ String frase; InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); try{frase = br.readLine();System.out.println(“Has escrito la frase: “ + frase); } catch(Exception e){System.out.println(e); }}}
PROGRAMACIÓN – Daniel Santiago 9
4.1. Entrada
• En ocasiones tendremos programas en los que nos interesará leer otros tipos de datos, por ejemplo números.
• Para transformar la cadena de caracteres que lee el método readLine() de la clase BufferedReader, podemos utilizar el siguiente código:int numero = Integer.parseInt(br.readLine());
PROGRAMACIÓN – Daniel Santiago 10
4.2. Salida
• Java utiliza dos objetos para la salida. El primero que trataremos es System.out.
• System.out: implementa la salida estándar. Los métodos que nos proporciona para controlar la salida son:– print(a): imprime a en la salida, donde a puede ser
cualquier tipo básico de Java ya queJava hace su conversión automática a cadena.
– println(a): igual que el método anterior, salvo que imprime un salto de línea después de a.
PROGRAMACIÓN – Daniel Santiago 11
4.2. Salida
• El segundo de los objetos de salida es System.err.• System.err: implementa la salida en caso de error.
Normalmente esta salida es la pantalla, pero puede ser interesante redirigirlo, por ejemplo a un fichero, para diferenciar claramente ambos tipos de salida.
• Los métodos de este objeto son idénticos a los de System.out.
• System.err suele usarse en las construcciones try-catch.