miércoles, 9 de noviembre de 2022

Factorial en java

 Los programas siguientes utilizan esta clase Leer para que funcione, esta clase debe estar en la misma carpeta donde este cada programa. Todos los programas a continuación deben tener esta clase.

Crear este archivo java con el siguiente código:


import java.io.*;


public class Leer{

  public static String dato() {

    String sdato = "";

    try

    {

      // Definir un flujo de caracteres de entrada: flujoE

      InputStreamReader isr = new InputStreamReader(System.in);

      BufferedReader flujoE = new BufferedReader(isr);

      // Leer. La entrada finaliza al pulsar la tecla Entrar

      sdato = flujoE.readLine();

    }

    catch(IOException e) {

      System.err.println("Error: " + e.getMessage());

    }

    return sdato; // devolver el dato tecleado

  }

  

  public static short datoShort() {

    try

    {

      return Short.parseShort(dato());

    }

    catch(NumberFormatException e) {

      return Short.MIN_VALUE; // valor más pequeño

    }

  }

  

  public static int datoInt() {

    try {

      return Integer.parseInt(dato());

    }

    catch(NumberFormatException e) {

      return Integer.MIN_VALUE; // valor más pequeño

    }

  }

  

  public static long datoLong() {

    try

    {

      return Long.parseLong(dato());

    }

    catch(NumberFormatException e) {

      return Long.MIN_VALUE; // valor más pequeño

    }

  }

  

  public static float datoFloat()

  {

    try

    {

      return Float.parseFloat(dato());

    }

    catch(NumberFormatException e)

    {

      return Float.NaN; // No es un Número; valor float.

    }

  }

  

  public static double datoDouble() {

    try {

      return Double.parseDouble(dato());

    }

    catch(NumberFormatException e) {

      return Double.NaN; // No es un Número; valor double.

    }

  }

}

_________________se crea otro archivo con la clase principal____

public class Factorial

{

  // Cálculo del factorial de un número

  long fact;

  public static long factorial(int n)

  {

    long fac;

    if (n == 0)

      return 1;

    else

      fac=1;

      do {

       fac=fac*n;

       n=n-1;

      }while (n>1);

      return fac;   

  }


  public static void main(String[] args)

  {

    int numero=0;

    long fact;

    do

    {

      System.out.print("¿Numero a calcular su factorial? ");

      numero = Leer.datoInt();

    }

    while (numero < 0 || numero > 25);

    fact = factorial(numero);

    System.out.println("\nPractica ");

    System.out.println("Calculo del factorial de un numero ");

    System.out.println("Realizado por: jose");

    System.out.println("\nEl factorial de " + numero + " es: " + fact);

  }

}


--------------------Configuration: <Default>--------------------

¿Numero a calcular su factorial? 8


Practica 

Calculo del factorial de un numero

Realizado por: jose


El factorial de 8 es: 40320

Process completed.





No hay comentarios:

Publicar un comentario