sábado, 17 de septiembre de 2011

Como Programar en Java: Ejercicio 5.13

Aquí esta el ejercicio 5.13 de Como Programar en Java séptima edición.

package com.jlm.ccb.ejercicios.capitulocinco;

/**
 * Clase encargada de calcular el factorial.
 * Ejercicio 5.13
 * @author LorettoTG
 * @version 1.0
 *
 */
public class Factorial {
    /**
     * Método encargado de calcular el factorial de
     * un número positivo utilizando un método iterativo.
     * Si se ingresa un número negativo regresara un -1 como
     * resultado.
     * @param entero int Con el entero a calcular su factorial.
     * @return resultado int Con el factorial calculado.
     */
    public int calcularFactorial(int entero) {
        /**
         * Contiene el contador utilizado como condición en el
         * ciclo while para calcular su factorial.
         */
        int contador = 1;
        /**
         * Almacena el resultado del factorial, por ser multiplicaciones
         * lo que se utilizara se inicializa en 1.
         */
        int resultado = 1;

        if (entero >= 0) {
            //Las tres partes del ciclo se encuentran
            //separadas por ; (punto y coma). La primer
            //parte del ciclo especifica valores previo
            //a su inicio. La segunda parte indica la
            //condición de terminación para el ciclo,
            //la cual esta directamente relacionada con
            //los valores iniciales. Finalmente, la
            //última parte especifica como serán
            //manipulados los valores iniciales en cada
            //iteración del ciclo. Cada parte del ciclo
            //debe incluir al menos un elemento, a la
            //cual es posible agregar otros elementos a
            //partir de una , (coma).
            for (contador = 1; contador <= entero; contador++) {
                resultado = resultado * contador;
            }
            return resultado;
        } else {
            return -1;
        }
    }

    /**
     * Punto de entrada a la clase y a la aplicación.
     * @param args matriz de argumentos de cadena.
     */
    public static void main(String[] args) {
        //El operador new es el encargado de crear instancias de
        //una clase, es decir los objetos que tienen las características
        //de la clase. El operador new de Java es capaz de reservar la
        //memoria para un objeto de este tipo sabiendo los atributos que
        //tiene según la definición de la clase.
        Factorial factorial = new Factorial();
        int contador = 1;
        //Las tres partes del ciclo se encuentran
        //separadas por ; (punto y coma). La primer
        //parte del ciclo especifica valores previo
        //a su inicio. La segunda parte indica la
        //condición de terminación para el ciclo,
        //la cual esta directamente relacionada con
        //los valores iniciales. Finalmente, la
        //última parte especifica como serán
        //manipulados los valores iniciales en cada
        //iteración del ciclo. Cada parte del ciclo
        //debe incluir al menos un elemento, a la
        //cual es posible agregar otros elementos a
        //partir de una , (coma).
        for (contador = 1; contador <= 5; contador++) {
            System.out.println(contador + "    "
                + factorial.calcularFactorial(contador));
        }
    }
}

No hay comentarios:

Publicar un comentario