En esta ocasión vamos a programar 3 clases para calcular el factorial de un
entero usando métodos y el método recursivo para su proceso en este caso
estamos haciendo referencia a programación estructurada.
La clase principal se llama Prueba en la cual se hace el llamado al método
de la clase proceso donde se le pide al usuario que inserte el entero para
calcular el factorial.
//Clase Principal
public class Prueba {
public static void main(String[] args) {
proceso PC = new proceso();
PC.dato();
}
}
En la clase proceso realizamos la validacion de los datos si el usuario
introduce texto retornamos un mensaje donde le decimos que "No se aceptan
letras"
//Clase proceso
import java.util.Scanner;
public class proceso{
public void dato (){
Scanner sc = new Scanner(System.in);
int entero;
String numero;
Double a;
try{
System.out.println("Inserta un entero");
numero = sc.next();
entero=Integer.parseInt(numero);
a = sc.nextDouble();
Factorial F = new Factorial();
F.Factorial(entero);
System.out.println("El Factorial De "+entero+" es:" +
F.Factorial(entero));
}
catch(NumberFormatException e){
System.out.println("No se aceptan letras");
proceso PC = new proceso();
PC.dato();
}
}
}
En la clase factorial es donde hacemos todo el cálculo del factorial y
regresamos mediante el método recursivo el método el cual envía los datos
obtenidos a la clase proceso y al mismo tiempo ese resultado se procesa hasta
la clase principal donde finalmente se imprime en pantalla al usuario.
//Clase factorial
public class Factorial{
private int n;
public int Factorial (int n){
int num;
this .n = n;
if(n == 0){
num = 1;
}
else{
num=n * Factorial (n-1);
}
return num;
}
private Double a;{
int num;
this.a = a;
}
}
No hay comentarios:
Publicar un comentario