Download java-jueves-29-de-octubre-de-2015-excepciones
Document related concepts
no text concepts found
Transcript
Programación Orientada a Objetos JAVA Ejercicio 1 int a[]={1,2,3,4,5}; System.out.println("a[5]="+a[5]); Ejercicio 1 con try-catch package exceptions4; public class Exceptions4 { public static void main(String[] args) { int a[]={1,2,3,4,5}; try{ System.out.println("a[5]="+a[5]); } catch(Exception e){ System.out.println("Error del tipo: "+ e); } } } La línea del catch se puede sustituir por esta que es más específica. catch(ArrayIndexOutOfBoundsException e){ http://armandovalera.info Página 1 Programación Orientada a Objetos JAVA Ejercicio 2 package exception5; import java.util.Scanner; public class Exception5 { public static void main(String[] args) { Scanner leer=new Scanner(System.in); int edad[]=new int[4]; int n; for (int i = 0; i < edad.length; i++) { System.out.print("edad["+i+ "]="); edad[i]=leer.nextInt(); } System.out.print("Cual elemento del arreglo deseas imprimir:"); n=leer.nextInt(); System.out.println("edad["+n+ "]="+edad[n]); } } http://armandovalera.info Página 2 Programación Orientada a Objetos JAVA Ejercicio 2 con try-catch Ejercicio 2, con dos veces el try-catch http://armandovalera.info Página 3 Programación Orientada a Objetos JAVA Ejercicio 2, con dos veces el try-catch y con dos veces el do-while para solicitar nuevamente los valores erroneos El break nos permite salir del ciclo infinito do-while, en ambos casos Scanner leer=new Scanner(System.in); Esta instrucción es necesario escribirla dos veces ya que se encuentran en bloques diferentes. http://armandovalera.info Página 4 Programación Orientada a Objetos JAVA EJERCICIO 2 CON UN TRY Y UN CATCH package exception5; import java.util.Scanner; public class Exception5 { public static void main(String[] args) { Scanner leer=new Scanner(System.in); int edad[]=new int[4]; int n; try{ for (int i = 0; i < edad.length; i++) { System.out.print("edad["+i+ "]="); edad[i]=leer.nextInt(); } System.out.print("Cual elemento del arreglo deseas imprimir:"); n=leer.nextInt(); System.out.println("edad["+n+ "]="+edad[n]); } catch(Exception e){ System.out.println("Error del tipo: "+e); // e.printStackTrace(); } } } CÓDIGO Ejercicio 2, con dos veces el try-catch package exception5; import java.util.InputMismatchException; import java.util.Scanner; public class Exception5 { public static void main(String[] args) { Scanner leer=new Scanner(System.in); int edad[]=new int[4]; int n; for (int i = 0; i < edad.length; i++) { System.out.print("edad["+i+ "]="); try{ edad[i]=leer.nextInt();} catch(InputMismatchException m){ System.out.println("Error del tipo: "+ m); http://armandovalera.info Página 5 Programación Orientada a Objetos JAVA } }//cierra llave del for System.out.print("Cual elemento del arreglo deseas imprimir:"); try{ n=leer.nextInt(); System.out.println("edad["+n+ "]="+edad[n]);} catch(ArrayIndexOutOfBoundsException a){ System.out.println("Error del tipo: "+a); } }//cierra llave del main }//cierrra llave de class CÓDIGO Ejercicio 2, con dos veces el try-catch y con dos veces el do-while para solicitar nuevamente los valores si son erróneos package exception5; import java.util.InputMismatchException; import java.util.Scanner; public class Exception5 { public static void main(String[] args) { int edad[]=new int[4]; int n; for (int i = 0; i < edad.length; i++) { do{ System.out.print("edad["+i+ "]="); Scanner leer=new Scanner(System.in); try{ edad[i]=leer.nextInt(); break; } catch(InputMismatchException m){ System.err.println("Error del tipo: "+ m); System.err.println("Debes escribir un entero!"); } }while(true); }//cierra el for do{ System.out.print("Cual elemento del arreglo deseas imprimir:"); try{ Scanner leer=new Scanner(System.in); http://armandovalera.info Página 6 Programación Orientada a Objetos JAVA n=leer.nextInt(); System.out.println("Resultado edad["+n+ "]="+edad[n]); break;} catch(ArrayIndexOutOfBoundsException a){ System.err.println("Error del tipo: "+a); System.err.println("Debes escribir: 0, 1, 2, ó 3");} }while(true); }//cierra llave del main }//cierrra llave de class El break nos permite salir del ciclo infinito do-while, en ambos casos Ejemplo de la ejecución del código . Ejercicio 1 de la tarea 6 http://armandovalera.info Página 7 Programación Orientada a Objetos JAVA Este programa determina la solución de un sistema de ecuaciones lineales de dos variables con dos incógnitas usando arreglos, sin embargo no está validado es decir si en lugar de números enteros en los coeficientes de la ecuación ingreso números con punto decimal, letras o símbolo especiales el programa “truena”, también puede fallar si dividimos entre cero, utilizar try y catch para que el programa funciona a pesar de que el usuario ingrese valores no validos. //CLASE DEL DIA JEUVES 10 DE SEPTIEMBRE DE 2015 package determinantesconsola; import java.util.Scanner; public class DeterminantesConsola { public static void main(String[] args) { Scanner leer= new Scanner(System.in); //crear un objeto Scanner int ec1[]= new int [3]; int a; System.out.println("Ingresa los tres coeficientes de la primera ecuación: "); for(a=0; a<ec1.length;a++) ec1[a]=leer.nextInt(); int ec2[]= new int [3]; System.out.println("Ingresa los tres coeficientes de la segunda ecuación: "); for(a=0; a<ec2.length;a++) ec2[a]=leer.nextInt(); int det, detx, dety, sol1, sol2; det=ec1[0]*ec2[1]-ec1[1]*ec2[0]; detx=ec1[2]*ec2[1]-ec1[1]*ec2[2]; dety=ec1[0]*ec2[2]-ec1[2]*ec2[0]; sol1=detx/det; sol2=dety/det; System.out.println("x="+sol1); System.out.println("y="+sol2); } } http://armandovalera.info Página 8