Está en la página 1de 9

UNIVERSIDAD DE PANAMÁ

CENTRO REGIONAL UNIVERSITARIO DE VERAGUAS


FACULTAD DE INFORMÁTICA, ELECTRÓNICA Y COMUNICACIÓN
ESCUELA DE INGENIERÍA EN INFORMÁTICA
CARRERA: LICENCIATURA DE INGENIERÍA EN INFORMÁTICA

LABORATORIO # 3

PROGRAMACIÓN III

PROGRAMACIÓN ORIENTADA A OBJETOS

TEMA:
INTRODUCCIÓN A LA ENTRADA CON “Excepciones”

PRESENTADO POR LA ESTUDIANTE:


EUFEMIA BUITRAGO 2-719-2461

PROFESOR:
DIEGO SANTIMATEO

FECHA DE ENTREGA:
JUEVES, 11 DE SEPTIEMBRE DE 2008.
ÍNDICE

I. INTRODUCCIÓN

II. CONTENIDO

1. Reflexione sobre la utilidad del manejo de las excepciones con el try … catch. ¿Qué entendió como
excepción?¿Cuál es la función del try y cuál la del catch? ¿En qué referencia se apoyó?
2. Pruebe el ejemplo y verifique su funcionamiento. ¿Cuál es el objetivo del programa? Incluya un
comentario que describa el trabajo del programa.
3. Compile el programa anterior sin usar throws IOException. ¿Qué ocurrió? ¿Qué método se asoció al
error producido?
4. Analice el programa anterior, identifique clases, objetos y métodos.
5. Coloque nuevamente throws IOException y provoque un error introduciendo una letra como segundo
valor capturado. ¿Qué ocurrió?.
6. Considere el siguiente ejemplo y provoque nuevamente un error:
¿Cuál fue la diferencia?

III. CONCLUSIÓN

IV. WEBGRAFÍA
INTRODUCCIÓN

Java cada uno de los procesos (entrada y salida) que realiza lo hace a través de flujos (streams) reconocidas como
secuencias continuas de datos. Divididos en streams de entrada llamados inputstream los cuales tienen una fuente y los
outputstream que tienen un destino.

Por esta razón un programa puede obtener datos desde una fuente leyendo una secuencia de caracteres de un stream que
se encuentre asociado a la misma y puede producir una salida desplegando de igual manera una secuencia de caracteres
a un stream asociado al destino.

Existen dos tipos de streams, los de bytes y los de caracteres, las clases para manejarlos las encontramos en el paquete
java.io el cual está provisto de una gran cantidad de ellas.

Esto y más daré a conocer en el presente trabajo.


INFORME DE LABORATORIO3

PROGRAMA BRINDADO POR EL PROFESOR

import java.io.*;
public class FlujoTeclado{
public static void main(String args[]) throws IOException{

//Creación del flujo para leer datos - caracteres


InputStreamReader isr=new InputStreamReader(System.in);

//Creación del filtro para leer cadena de caracteres


BufferedReader br=new BufferedReader(isr);
System.out.print("Teclea el primer numero: ");

//Lectura de datos mediante el método readLine()


String texto1=br.readLine();

//Conversión a int de la String anterior para poder sumar


int num1=Integer.parseInt(texto1);

System.out.print("Teclea el segundo numero: ");


String texto2=br.readLine();
int num2=Integer.parseInt(texto2);

//Sumar los dos enteros


System.out.println("Suma de "+num1+" y "+num2+" es "+(num1+num2));
}
}

1. Pruebe el ejemplo y verifique su funcionamiento. ¿Cuál es el objetivo del programa? Incluya un


comentario que describa el trabajo del programa.

El objetivo del programa es obtener del usuario por medio del teclado dos números enteros, los cuales son sumado
posteriormente.

Descripción del trabajo del programa:

A la hora empezar la construcción del mismo hay que tener en cuenta que en las operaciones de entrada se pueden
producir errores o excepciones, por lo cual utilizamos el mecanismo throws IOException que permite controlar o
identificarlos.

1. Creamos la secuencia continua de datos por medio un nuevo objeto llamado isr por medio de un constructor,
utilizando el objeto System.in de la clase InputStream pero como la misma sólo tiene métodos para leer bytes hacemos
uso de la clase Reader que contiene métodos para leer caracteres; teniendo también que transformar el objeto System.in
para poder usar dichos métodos. Esto se logro usando la clase InputStreamReader la cual nos da los caracteres sueltos .
2. Creamos un filtro para leer la cadena de caracteres ya que queremos capturar toda la linea y no los caracteres sueltos
emitidos en este caso por el teclado usando la clase BufferedReader en donde el constructor toma el objeto isr de la
clase InputStreamReader. Luego desplegamos en pantalla por medio de System.out.print() un mensaje indicando al
usuario que introduzca el primer numero por medio del teclado.
3. Realizamos la lectura de la cadena de caracteres mediante el método readLine().
4. Convertimos el objeto String leído a un valor numérico por medio de Integer.parseInt().
5. Utilizamos nuevamente System.out.print() para desplegar en pantalla un mensaje en donde le indicamos al usuario
que introduzca el próximo numero entero y repetimos los pasos 3 y 4.
6. Para finalizar realizamos el proceso que este caso es de suma.

2. Compile el programa anterior sin usar throws IOException. ¿Qué ocurrió? ¿Qué método se asoció al
error producido?

Al compilar el programa sin usar throws IOException java no permitió que el mismo corriera correctamente y presento
dos errores.

El método que se asocio a los errores producidos es el readLine().

3. Analice el programa anterior, identifique clases, objetos y métodos.

CLASES OBJETOS MÉTODOS


InputStream isr readLine()
InputStreamReader System.in Integer.parseInt()
BufferedReader System.out.print()
String

4. Coloque nuevamente throws IOException y provoque un error introduciendo una letra como segundo
valor capturado. ¿Qué ocurrió?.

Al colocar nuevamente throws IOException y se introduce una letra como segundo valor capturado, se produce un error.
5. Considere el siguiente ejemplo y provoque nuevamente un error: ¿Cuál fue la diferencia?
import java.io.*;
public class FlujoTeclado{
public static void main(String args[])throws IOException{
try {
//Creación del flujo para leer datos - caracteres
InputStreamReader isr=new InputStreamReader(System.in);

//Creación del filtro para leer cadena de caracteres


BufferedReader br=new BufferedReader(isr);
System.out.print("Teclea el primer numero: ");

//Lectura de datos mediante el método readLine()


String texto1=br.readLine();

//Conversión a int de la String anterior para poder sumar


int num1=Integer.parseInt(texto1);

System.out.print("Teclea el segundo numero: ");


String texto2=br.readLine();
int num2=Integer.parseInt(texto2);

//Sumar los dos enteros


System.out.println("Suma de "+num1+" y "+num2+" es
"+(num1+num2));
} catch(Exception e) {
System.out.println("Error en la captura****");
}
} //fin del main
}

Para mi la diferencia de este programa con el del punto 4 al compilarlo y ejecutarlo se basa en el ingreso de los datos
correctamente lo cual lleva a que no se de ningún tipo de error. Sin embargo si se ingresan datos inaceptables al
ejecutarlo el mismo enviara errores.

6. Reflexione sobre la utilidad del manejo de las excepciones con el try … catch. ¿Qué entendió como
excepción?¿Cuál es la función del try y cuál la del catch? ¿En qué referencia se apoyó?

En los Lenguajes de programación en general se dan errores de distintos tipos, como los de sintaxis, entre otros en los
que el programa deje de funcionar correctamente. Java sin embargo llama a los mismos excepciones de error. El uso del
manejo de las mismas se toma como una opción para obviar faltas cuando se dan diferencias en los programas. Las
cuales en este caso deben manejarse por medio de instrucciones especiales de este compilador como try{…}, en el cual
escribimos el código con las instrucciones, métodos, objetos y procesos necesarios para que el mismo funcione
correctamente. En el es necesario la utilización de otra instrucción llamada catch() la cual se encarga de capturar dichas
excepciones las cuales nos van a indicar el error en el programa a la hora de su ejecución.

En realidad para responder a este punto al igual que el 5, me apoye en las explicaciones brindadas por el profesor junto
a las separatas que hablaban del mismo.
CONCLUSIÓN

En el informe presentado comprendí como funciona el manejo de excepciones en Java.

A la ves el mismo me sirvió para aprender como se utilizan algunas instrucciones necesarias para la
identificación de los errores en un programa al ejecutarlo en Java.
WEBGRAFÍA

 http://www.roseindia.net/java/example/java/io/ReadStandardIO.shtml.

 http://www.roseindia.net/java/example/java/io/Java_io.shtml