You are on page 1of 5

CRUV - Facultad de Informática, Electrónica y Comunicación

Inf212-Programación Orientada a Objetos


UNIVE RSID AD DE PANAMÁ
CENTRO RE GION AL UNIVE RSITARI O DE VE RAGUAS
LIC ENCIATURA DE INFORMÁTIC A PARA LA GESTIÓN EDUC Y
EM P.
PRIME R SEMESTR E

PROG RAM ACIÓN 4

Informe del laboratorio semana #4:


Flujo de datos

PROFESOR
DIEGO SANTIMATEO

ESTUDI ANTE
JAIRO CONCEPCIÓN 9-724-1589

FECHA D E ENTR EGA


Semana 8-12 de septiembre.

Jairo Concepción
CRUV - Facultad de Informática, Electrónica y Comunicación
Inf212-Programación Orientada a Objetos

Flujo de datos

1. Pruebe el ejemplo y verifique su funcionamiento. ¿Cuál es


el objetivo del programa? Incluya un comentario que describa
el trabajo del programa.

R= El objetivo de este programa es el de realizar la suma de dos valores enteros


capturados desde el teclado.
Comentario Este programa realizara este trabajo a través de flujos (streams) o
secuencias continua de datos. Primero en el public static void main se coloca mecanismo
throws IOException que nos permite controlar las posibles entradas erróneas. Luego
como el programa trataba de obtener datos desde el teclado y estos datos serán una
cadena y por eso tenemos que recurrir a la clase Reader, que también tiene un conjunto
de subclases para manejar flujos, en este caso se utilizo las siguientes subclases:
• InputStreamReader nos convierte un stream de bytes en un stream de char.
• System.in nos permite para leer en la pantalla. Este objeto se usa como parámetro
en la declaración del objeto creado en el InputStreamReader.
• BufferedReader nos proporciona una entrada de caracteres a través de un buffer.
• System.out nos permite escribir en pantalla.
• readLine() este método nos permite leer todos los caracteres tecleados.

Estos 5 puntos son los que realiza el programa para capturar un valor desde el teclado y
sea más eficiente.
Dentro de este programa se utiliza también el bloque try/catch que nos permite gestionar
y tratar correctamente el programa crear excepciones por el usuario.

2. Compile el programa anterior sin usar throws IOException.


¿Qué ocurrió? ¿Qué método se asoció al error producido?

R= Bueno, al compilar el programa sin el throws IOException , generaba dos errores


los cuales se producían por la no declaración de la excepción java.io.IOException.

Jairo Concepción
CRUV - Facultad de Informática, Electrónica y Comunicación
Inf212-Programación Orientada a Objetos
El método que se asocio con el error fue el readLine().

3. Analice el programa anterior, identifique clases, objetos y


métodos.

R= las clase, los objetos y los métodos que aparecen en el programas son los siguientes:

InputStreamReader isr=new InputStreamReader(System.in);

Objetos
BufferedReader br=new BufferedReader(isr);

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

Métodos
String texto1=br.readLine();
Clases

int num1=Integer.parseInt(texto1);

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

String texto2=br.readLine();
Objetos
int num2=Integer.parseInt(texto2);
System.out.println("Suma de "+num1+" y "+num2+" es

"+(num1+num2));

4. Coloque nuevamente throws IOException y provoque un


error introduciendo una letra como segundo valor capturado.
¿Qué ocurrió?.

R= Al monento de colocar el throws IOException, compilar y ejecutar el programa,


introduci una letra como segundo valor, el cual nos mostro una exception

Jairo Concepción
CRUV - Facultad de Informática, Electrónica y Comunicación
Inf212-Programación Orientada a Objetos

Esta Exception indica que el segundo valor esperado no era un numero sino un
carácter, ya que el objetivo del programa es sumar dos enteros.

5. Considere el siguiente ejemplo y provoque nuevamente un


error: ¿Cuál fue la diferencia?

R= La diferencia de este otro programa esta en que el usuario puede crear sus propias
excepciones. Utilizando el try y el catch, como se muestra en el codigo.
try {
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
System.out.print("Teclea el primer numero: ");
String texto1=br.readLine();
int num1=Integer.parseInt(texto1);
System.out.print("Teclea el segundo numero: ");
String texto2=br.readLine();

int num2=Integer.parseInt(texto2);
System.out.println("Suma de "+num1+" y "+num2+" es "+(num1+num2));

} catch(Exception e) {
System.out.println( "Error en la captura****" );
}

Excepción creada
por el usuario

Jairo Concepción
CRUV - Facultad de Informática, Electrónica y Comunicación
Inf212-Programación Orientada a Objetos

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ó?

R= Lo que entendí por excepciones es que, en la programación siempre se producen


errores, más o menos graves, pero que hay que gestionar y tratar correctamente. Por eso
se utiliza el mecanismo try y el catch. Esta técnica básica consiste en colocar las
instrucciones que podrían provocar problemas dentro de un bloque try, y colocar a
continuación uno o más bloques catch, de tal forma que si se provoca un error de un
determinado tipo, el bloque catch capaz de gestionar ese tipo de error específico. El
bloque catch contendrá el código necesario para gestionar ese tipo específico de error
enviando un mensaje de error creado por el usuario. Supongo que no se hubiesen
provocado errores en el bloque try, nunca se ejecutarían los bloques catch.
Mi referencia de apoyo fue la dirección
http://elvex.ugr.es/decsai/java/pdf/B2-excepciones.pdf
http://www.cica.es/formacion/JavaTut/Cap6/captura.html
http://www.chuidiang.com/java/novatos/entrada_standard_java.php
Las cuales hablaban de Excepciones y flujos en java, como presentando definiciones y
ejemplos de cada uno de ellos, considero que son muy claras.

Jairo Concepción

You might also like