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