Ramirez Albarran Omar escom ipn 6SCV2

Site hosted by Angelfire.com: Build your free website today!

Práctica 3

PROBLEMA No.1
import java.lang.System;
import java.io.*;

class EXCES extends Exception
{
EXCES(String mensaje)
{
super("Error **"+mensaje);
}
}
class NEG extends Exception
{
NEG(String mensaje)
{
super("error en Matriz**"+mensaje);
}
}
class NULO extends INDNEGATIVO
{
NULO(String mensaje)
{
super("error al crear la matriz**"+mensaje);
}
}
class NOPERMITIDO extends Exception
{
NOPERMITIDO(String mensaje)
{
super("EXCEPCION PARA**"+mensaje);
}
}
class EMPLEADO
{
String nombre;
double salario;
EMPLEADO(String nombre1,double salario1)
{
nombre=nombre1;
salario=salario1;
}
public String toString()
{
return("\nNOMBRE:"+nombre+"\tSALARIO:"+salario+"");
}
}
class EMPRESA
{
String nombre2;
int indice2,contador;
EMPLEADO arreglo[];
EMPRESA()
{}

void CREACION(String nombre3,int indice1) throws NEG
{
nombre2=nombre3;
indice2=indice1;
contador=0;
if (indice2<0)
{
indice2=0;
throw new NEG("NEGATIVO");
}
if (indice2==0)
{
throw new NULO("REFERENCIA A NULO");
}
else
{
arreglo=new EMPLEADO[indice2];
}
}

void INSERTAR(String dato1,double dato2) throws EXCES
{
if (contador==indice2)
{
throw new EXCES("ESPACIO");
}
else
{
arreglo[contador]=new EMPLEADO(dato1,dato2);
contador++;
}
}
void REPORTE()
{
for(int i=0;i<indice2;i++)
System.out.println(""+arreglo[i]+"\tEMPRESA:"+nombre2+"");
}
}
public class EMPRESAA
{
public static void main(String [] args)
{
int ciclo=1,caso=1,numero;
String nombre;
double salario;
System.out.println("\n\tELEMENTOS:");

numero=LECTURA.datoInt();
EMPRESA obj=new EMPRESA ();
try
{

obj.CREACION("ESCOM",numero);

}
catch(NEG e)
{
System.out.println(e.getMessage());
}

while(ciclo!=3)
{
System.out.println("1) ALTAS\n\t\t2) REPORTE\n\t\t3) SALIR\n");
System.out.println("\n");

try
{
caso=LECTURA.datoInt();
}
catch(NumberFormatException e)
{
System.out.println("TIPO DE DATO NO VALIDO");
}

switch(caso)
{
case 1:
System.out.println("\n\tEMPLEADO:");
nombre=LECTURA.datoString();
try
{
for(int i=0;i<nombre.length();i++)
{
if(nombre.charAt(i)=='1'||nombre.charAt(i)=='2'||nombre.charAt(i)=='3'||
nombre.charAt(i)=='4'||nombre.charAt(i)=='5'||nombre.charAt(i)=='6'||
nombre.charAt(i)=='7'||nombre.charAt(i)=='8'||nombre.charAt(i)=='9'||
nombre.charAt(i)=='0'||nombre.charAt(i)=='.'||nombre.charAt(i)==',')

throw new TIPONOADMITIDO("TIPO DE DATO NO VALIDO");
}
}
catch(NOPERMITIDO e)
{
System.out.println(e.getMessage());
}

System.out.println("\n\tINTRODUZCA EL SALARIO DEL EMPLEADO:");

try
{
salario=LECTURA.datoDouble();
try
{

obj.INSERTAR(nombre,salario);

}
catch(EXCES e)
{
System.out.println(e.getMessage());
}
}
catch(NumberFormatException e)
{
System.out.println("TIPO DE DATO NO VALIDO");
}

break;
case 2:
obj.REPORTE();
break;
case 3:
ciclo=3;
break;
}
}
}
}

 

 

 

 

 

 

PROBLEMA No.2

import java.math.*;

class FIN extends Exception
{
FIN(String mensaje)
{
super("MENSAJE:"+mensaje);
}
}

class NEG extends FIN
{
NEG(String mensaje)
{
super("MENSAJE:"+mensaje);
}
}

class Num
{
double uno,dos,resultado;
Num(){}
double GENERA()
{
uno=Math.random();
System.out.println("VALOR:"+uno);
return uno;
}
void DIVIDE(double A,double B) throws FIN
{
if(B==0)
throw new INFINITO("NO SE PUEDE DIVIDIR ENTRE EL CERO");
else
resultado=A/B;
}
void RAIZ(double A) throws NEG
{
if(A<0)
throw new NEG("NO HAY RAIZ PARA NUMEROS NEGATIVOS ");
else
resultado=Math.sqrt(A);
}
void LOG(double A) throws FIN
{
else
resultado=Math.log(A);
}
public String toString()
{
return("\nRESULTADO:"+resultado);
}
}

public class NUMEROS
{
public static void main(String [] args)
{
double UNO,DOS;
Numero aleatorio=new Numero();
UNO=aleatorio.GENERA();
DOS=aleatorio.GENERA();

try {
aleatorio.DIVISION(UNO,DOS);
}
catch(INFINITO e)
{
System.out.println(e.getMessage());
}
System.out.println("DIVISION \t"+aleatorio);

aleatorio.resultado=0;

try {
aleatorio.LOGARITMO(UNO);
}
catch(INFINITO e)
{
System.out.println(e.getMessage());
}
System.out.println("LOGARITMO \t"+aleatorio);

aleatorio.resultado=0;

try {
aleatorio.RAIZ(UNO);
}
catch(NEGATIVO e)
{
System.out.println(e.getMessage());
}
System.out.println("RAIZ \t"+aleatorio);

}
}

 

 

 

 

 

PROBLEMA No.3
import java.lang.System;

class ErrorDivisor extends Exception
{
ErrorDivisor(String mensaje)
{
super("ERROR:"+mensaje);
}
}

public class NestTry
{
public static void main(String [] args)
{
try
{
int a=args.length;
if(a==0)
throw new ErrorDivisor("Es cero el valor del divisor");
else
{
int b=42/a;
System.out.println("EL VALOR DE a="+a);
System.out.println("EL VALOR DE b="+b);
}
if(a==1)
{
a=a/(a-a);
}
if(a==2)
{
int c[]={1};
c[42]=99;
}
}

catch(ErrorDivisor e)
{
System.out.println(e.getMessage());
}

catch(ArithmeticException e)
{
System.out.println("Error en el divisor:"+e);
}
catch(ArrayIndexOutOfBoundsException e)
{
System.out.println("Array index out-of-bounds:"+e);
}

}
}

 

 

 

 

PROBLEMA No.4

PROBLEMA No.5

import java.util.Random;
import java.math.*;

class ErrorDivisor extends Exception
{
ErrorDivisor(String mensaje)
{
super("ERROR:"+mensaje);
}
}

class HandleError
{
public static void main(String [] args)
{
int c=0,b,a,d[]=new int[10];
double K;
String H;
Random r=new Random();
for(int i=0;i<2;i++)
{
try
{
b=r.nextInt(12);
c=r.nextInt(12);
System.out.println("B:"+b);
System.out.println("C:"+c);
if(c==0||b==0)
{
System.out.println("CON ERROR =12345/(b/c)");
throw new ErrorDivisor("ES CERO EL VALOR DEL DIVISOR");
}
else
{
System.out.println("SIN ERROR ENTRO a=12345/(b/c)");
a=12345/(b/c);
System.out.println("EL VALOR PARA a:"+a);
}
System.out.println("SIN ERROR ENTRO a=Math.log(b)");
H=String.valueOf(b);
K=Double.parseDouble(H);
K=Math.log(K); //Nota: Fue Necesario porque marca error de
H=String.valueOf(K); //Compilacion por el tipo de dato no valido
a=Integer.parseInt(H); //para el caso de doble a entero.
System.out.println("EL VALOR PARA a:"+a);
if(a==0)
{
System.out.println("CON ERROR ENTRO d[c]=(c/a)");
throw new ErrorDivisor("ES CERO EL DIVISOR");
}
d[c]=(c/a);
System.out.println("EL VALOR PARA a:"+a);
}

catch(ErrorDivisor e)
{
System.out.println(e.getMessage());
}
catch(ArithmeticException e)
{
System.out.println("Error:OPERACION MATEMATICA NO VALIDA:"+e);
}
catch(NumberFormatException e)
{
System.out.println("Error:TIPO DE DATO NO VALIDO:"+e);
}
catch(ArrayIndexOutOfBoundsException e)
{
System.out.println("Error:EL ARREGLO NO ESTA DEFINIDO:"+e);
}
}
}
}