Este código pues no es muy llamativo que digamos ya que su única función es poner un numero negativo en positivo ejemplo: Si pasamos -40 como parámetro nos devolverá 4. Bueno, espero y les sirva de algo
package pruebasalgoritmos;
/**
*
* Gamma
*/
public class Positivos {
public static Object positivos(Object o) {
int numint = 0;
double numdoble = 0;
Object result = 0;
//VALIDA QUE EL PARAMETRO NO SEA NULO
if (o != null) {
//USAMOS TRY CATCH PARA CACHAR LA EXCEPCION
try {
// HACEMOS EL CASTING A ENTERO SI NO ES ENTERO MANDARA AL SIGUIENTE TRY CATCH
numint = (Integer) o;
// VALIDA SI EL NUMERO ES MENOR DE CERO LO PASE A ENTERO SI NO LO DEJE IGUAL
if (numint < 0) {
// CONVERTIMOS A ENTERO EL NUMERO
numint *= -1;
}
//ASIGNAMOS EL RESULTADO A LA VARIABLE QUE SE REGRESARA
result = numint;
} catch (ClassCastException e) {
//USAMOS TRY CATCH PARA CACHAR LA EXCEPCION
try {
// HACEMOS EL CASTING A DOUBLE SI NO ENTRA AQUI MANDARA EL MENSAJE DE LA EXCEPCION
numdoble = (Double) o;
// VALIDA SI EL NUMERO ES MENOR DE CERO LO PASE A ENTERO SI NO LO DEJE IGUAL
if (numdoble < 0) {
// CONVERTIMOS A ENTERO EL NUMERO
numdoble *= -1;
}
//ASIGNAMOS EL RESULTADO A LA VARIABLE QUE SE REGRESARA
result = numdoble;
} catch (ClassCastException ex) {
//SE IMPRIME LA EXCEPCION EN CASO DE QUE EXISTA
System.out.println("El parametro no es un numero " + ex.getMessage());
}
}
} else {
//MANDAMOS EL MENSAJE DE QUE EL PARMETRO ES UN NULO
System.out.println("El valor es un nulo");
}
// REGRESAMOS EL RESULTADO DE LA OPERACION
return result;
}
public static void main(String a[]) {
//SE LLAMA EL METODO Y SE ASIGNA A UNA VARIABLE APOLICANDO SU RESPECTIVO CASTING
double test = (Double) positivos(-500.5);
int testint = (Integer) positivos(-150);
// SE IMPRIMEN LOS VALORES EN CONSOLA
System.out.println("TEST:::" + test);
System.out.println("TESTINT:::" + testint);
}
}
Publicar un comentario