Documentos de Académico
Documentos de Profesional
Documentos de Cultura
• La entrada de datos es más sensible a los errores, si la entrada de datos no es del tipo
correcto, el programa falla. Este tipo de error se llama excepción. Java provee mecanismos
especiales para manejar las excepciones.
• La forma más simple de manejar las excepciones de entrada/salida es a través de la cláusula
throws IOException sólo hay que agregar está cláusula a la declaración del método main.
• La entrada de datos al programa lo podemos manejar de dos formas diferentes, manejando:
JoptionPane y/o utilizando la clase Bufferedreader o la clase Scanner.
1
USANDO LA CLASE JOptionPane (Pertenece a la clase Swing)
import javax.swing.JOptionPane;
class XAreaCirculo{
private float radio;
XAreaCirculo(){
radio=0;
}
void calcular(){
String str_radio;
radio = Float.parseFloat(str_radio);
}
}
public class AreaCirculo1 {
public static void main(String[] args) {
XAreaCirculo ar = new XAreaCirculo();
ar.calcular();
}
}
import javax.swing.JOptionPane;
class XLeeData{
String nombre, apellido;
XLeeData(){
nombre=JOptionPane.showInputDialog(null,"Escribe tu Nombre:", "Muestra de Dialogo de
Entrada",JOptionPane.INFORMATION_MESSAGE);
apellido=JOptionPane.showInputDialog(null,"Escribe tu Apellido:", "Muestra de Dialogo de
Entrada",JOptionPane.INFORMATION_MESSAGE );
}
void desplegar(){
String nombre_completo;
nombre_completo = nombre+" " + apellido;
JOptionPane.showMessageDialog(null,nombre_completo,"Tu Nombre Completo
es:",JOptionPane.INFORMATION_MESSAGE );
}
}
public class LeeData {
public static void main(String args[]){
XLeeData ld = new XLeeData();
ld.desplegar();
}
}
2
USANDO LA CLASE SCANNER (Pertenece a la clase java.util)
• Desde Java 1.5 disponemos de la clase Scanner. La cual nos va a ayudar a leer los datos de
una forma más sencilla que el habitual manejo de Lectura de datos por Consola con Java.
• La utilización de la clase Scanner es muy sencilla. Lo primero que tenemos que hacer es
declarar un objeto Scanner instanciándolo contra la consola, es decir, contra el objeto
System.in
• Ahora, para leer lo que el usuario está introduciendo por la consola deberemos utilizar el
método next. Este nos devolverá los caracteres que encuentre en la consola hasta
encontrarse un retorno de carro y salto de línea. El valor se lo asignaremos a una variable
String. String sTexto = reader.next();
EJEMPLO
import java.util.*;
import java.io.*;
class XUsoScanner{
private String nombre;
private int AnnodeNacimiento;
private float altura;
private double altura1;
private char opcion;
private short edad;
void leer(){
Scanner sc= new Scanner(System.in);
}
}
3
Manejo de Excepciones: Una excepción (exception) es un evento que ocurre en tiempo de ejecución
y que indica que algo está mal en el programa. Las excepciones en Java son representadas a través
de objetos de la clase Exception.
• Las excepciones son creadas por el sistema para alertar al usuario sobre un evento que de
otra manera pasaría desapercibido. En java las excepciones pueden ser manejadas a través
de las clausulas try y catch.
import java.io.*;
class XEntrada{
String nombre;
int edad;
double saldo;
void leer_cadena(){
try{
InputStreamReader lector = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(lector);
System.out.println("Escribe tu nombre: ");
nombre = br.readLine();
}
catch(IOException e){System.out.println ("Error de Lectura");}
}
void leer_entero(){
try{
String cad;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Escribe tu edad: ");
cad = br.readLine();
edad = Integer.parseInt(cad);
}
catch(IOException e){System.out.println ("Error de Lectura");}
}
void leer_doble(){
try {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Escribe tu deposito: ");
saldo = Double.parseDouble(br.readLine());
}
catch(IOException e){System.out.println ("Error de Lectura");}
}
void imprimir(){
System.out.println("Hola, "+ nombre + " tu edad es: " + edad + " y tu Deposito fue : "+saldo);
}
}
public class EntradaDatos1 {
public static void main(String[] args) throws IOException {
XEntrada ent = new XEntrada();
ent.leer_cadena();
ent.leer_entero();
ent.leer_doble();
ent.imprimir();
}
}
4
5
Los nombres de las excepciones indican la condición de error que representan. Las siguientes son las
excepciones predefinidas más frecuentes que se pueden encontrar:
EXCEPCIÓN DESCRIPCION
ArithmeticException Las excepciones aritméticas son típicamente el resultado de una
división por 0
NullPointerException Se produce cuando se intenta acceder a una variable o método
antes de ser definido
IncompatibleClassChangeException El intento de cambiar una clase afectada por referencias en otros
objetos, específicamente cuando esos objetos todavía no han sido
recompilados.
6
Las cadenas de caracteres
• Una cadena es una secuencia de caracteres. Las palabras, oraciones y nombres son
cadenas.
• Los strings u objetos de la clase String se pueden crear de la siguiente forma:
String str=new String("El primer programa"); ó String str="El primer programa";
class XCadena1{
private String str;
XCadena1(){
str = "Desarrollo de Software II";
}
void valida(){
System.out.println("La cadena completa es: "+str);
System.out.println("Esta cadena contiene " + str.length() + " caracteres");
System.out.println("El caracter en la posicion 4 es " + str.charAt(4));
System.out.println("La posicion del caracter w es " + str.indexOf('w'));
if(str1.equals(str2)){
System.out.println("El mismo contenido");
}else{
System.out.println("Distinto contenido");
}
}
}