Вы находитесь на странице: 1из 4

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

Inf212-Programación Orientada a Objetos

UNIVERSIDAD DE PANAMÁ
CENTRO REGIONAL UNIVERSITARIO DE VER AGUAS
FACULTAD DE INFORMÁTICA, ELECTRÓNICA Y
COMUNICACIÓN

LABORATORIO #2

Profesor :
Diego Santimateo

Estudiante:
Efraín Caballero 9-719-1952

II Año

2008

Efraín Caballero Página 1


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

Experiemente
1. Pruebe el ejemplo y verifique su funcionamiento. ¿Cuál es el objetivo del
programa? Incluya un comentario que describa el trabajo del programa.
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));
}
}

Resp: El objetivo del programas es la suma de dos numeros, utilizando un flujo


para leer los datos, ademas un filtro para leer cadenas de caracteres tambien
utilizando el read Line para leer los cadenas y haciendo una conversion de un
String a un entero.

2. Compile el programa anterior sin usar throws IOException. ¿Qué ocurrió? ¿Qué
método se asoció al error producido?
Resp:
Al compilar en programa anterior sin utilizar el hrows IOException, ocurrio lo
siguiente, mando dos errores al compilarlos estos errores fueron los siguientes:

 D:\efra\FlujoTeclado.java:13: unreported exception java.io.IOException; must be


caught or declared to be thrown
String texto1=br.readLine();

Efraín Caballero Página 2


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

 D:\efra\FlujoTeclado.java:19: unreported exception java.io.IOException; must be


caught or declared to be thrown
String texto2=br.readLine();
Los metodos que se asociaron con el error producidos fue el metodo de leer la
linea de texto que es el metodo readLine().

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


Resp:
En el programa anterior lo analice y lo identifique de la siguiente manera.
 Clases:
InputStreamReade
BufferedReader
 Objetos:
isr
br

 Metodos:
br.readLine()
Integer.parseInt(texto2)

4. Coloque nuevamente throws IOException y provoque un error introduciendo una


letra como segundo valor capturado. ¿Qué ocurrió?.
Resp:
Al colocar nuevamente throws IOException e introducir una letra en el segundo
valor capturado ocurre lo siguiente:

Manda el error que dice que la Exception in thread “main”


java.lang.NumberFormatException: for input String: “a”.
Esto dice que el error esta en la excepción porque el valor que era String lo
trasformamos a un entero de esta forma int num1=Integer.parseInt (texto1) y lo
que pasa es que una letra no es un carácter valido en esa operación y solo se
tiene que introducir un numero por haber utilizado el método int
num1=Integer.parseInt (texto1) en el programa.

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

Efraín Caballero Página 3


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

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

Resp:
La diferencia de este programa con el programa anterior es que en este
programa se utiliza el try y el catch porque en el programa anterior provocamos
errores de dos manera que fueron quitando el throws IOException y introducción
una letra en ves de un numero, pero en este gracias al try y catch al tratar de
hacer que ocurra estos dos errores pasa lo siguiente:
Cuando quitas el throws IOException el programa sigue funcional normalmente.
Al introducir una letra en vez de un numero pasa lo siguiente:
El catch te manda un error que dice “error en la captura”.
La diferencia del primer programa y el segundo es que el segundo utilizo el try y
catch.

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ó?
Resp:
Try: En esta parte es donde declaramos las excepciones del programa.
Match: En esta parte es donde toma la declaración del try para generar el
código del error.

Efraín Caballero Página 4

Вам также может понравиться