Bien al parecer estaba tan aburrido que esto fue lo unico que se me ocurrió… Básicamente obtiene el fáctorial de un número N (no mayor a 20, pues el resultado sería muy grande y sin precisión). Valida también el número ingresado.
/***
* @Nombre : FactorialSencillo.java
* @Descripción : Obtiene el factorial de un numero cualquiera ingresado por el usuario
* @Fecha : Marzo 7 de 2009
* @Autor : [D-m-K]
***/
package javacertificationdmk.capitulo2;
//importo los packages necesarios para la entrada de datos
import java.io.*;
public class FactorialSencillo {
public static void main(String[] args) throws IOException{
//Pido el número
System.out.println("\n\t O B T E N E R F A C T O R I A L \n");
int n = leerN("\t Ingresa el valor de N para obtener factorial : ");
long factorial = obtenerFactorial(n);
//Obtengo el factorial del número ingresado
System.out.println("\n\t [R E S U L T A D O]\n");
System.out.println("\t El factorial de " + n + " es : " + factorial);
}
static long obtenerFactorial(int n) throws IOException{
long fac = 1;
//Calculo factorial
for(int i=1; i 20){
System.out.println("\t ERROR : Changos ese numero generaria un resultado muy grande.\n");
error = true;
}
}catch(NumberFormatException e){
System.out.println("\t ERROR : El valor ingresado no corresponde a un numero.\n");
error = true;
}
}while(error);
//Retorno el número ingresado de tipo entero
return num;
}
}
Greetings to All and Happy BandWidth