Éste archivo debe guardarse con el nombre Main.
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * Programa que recibe un entero positivo y verifica si es par + * o impar * * Si es par * * Se calcula e imprime el factorial del numero * * Si es impar * * Se calcula e imprime los primeros n numeros de fibonacci * *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ import java.util.Scanner; public class Main { // Abre clase Main public static void main(String args[]) { // Abre main int n = 0; // Esta variable almacenara el numero Scanner entrada = new Scanner(System.in); while ( 0 >= n ) // con este condicional while se garantiza que el usuario introduzca numeros positivos. { // Abre while System.out.print("\nPor favor introduzca un numero entero. Si el numero es par "); System.out.print("se imprimira el factorial, de lo contrario, se imprimiran los primeros n terminos "); System.out.println("de la serie de Fibonacci. "); n = entrada.nextInt(); } // Cierra while if ( 0 == n%2 ) // Si el numero es par System.out.printf("\nEl factorial del numero es: %d\n\n", factorial(n)); else // Si el numero es impar fibonacci(n); } // Cierra main /////////////////////////////// //Metodo fibonacci ////////////////////////////// /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * * * ALGORITMO * * _________ * * * * El primer numero de fibonacci (fib1) es 0 * * El segundo numero de Fibonacci (fib2) es 1 * * * * Si el usuario introduce 1 o 2, entonces es necesario desplegar f1 o f2 * * Si el usuario introduce un entero positivo mayor que 2, entonces * * desde 2 hasta n (el numero introducido) * * fibn = fib1 + fib2 * * temp = fib2 * * fib2 = fibn * * fib1 = temp * * * * Imprimir el valor de fibn * *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ public static void fibonacci( int x) { // Abre Metodo fibonacci int fib1 = 0; int fib2 = 1; int fibn; if (1 != x) { // Abre if System.out.printf("\nEl primer numero de Fibonacci es: %d", fib1); System.out.printf("\nEl segundo numero de Fibonacci es: %d", fib2); for ( int i = 3; i <= x; i++ ) { // Abre for fibn = fib2 + fib1; fib1 = fib2; fib2 = fibn; System.out.printf("\nEl numero de Fibonacci %d es %d", i, fibn); } // Cierra for System.out.println(); } // Cierra if else System.out.println("\nEl primer numero de Fibonacci es: 0"); } // Cierra Metodo fibonacci ///////////////////////////////////////////////////// //Metodo factorial ///////////////////////////////////////////////////// /*++++++++++++++++++++++++++++++++++++++++++++++++++* * * * fact = 1; * * Desde i = 1 hasta i = n * * fact = fact * i; * * i = i + 1; * *+++++++++++++++++++++++++++++++++++++++++++++++++++*/ public static int factorial( int n) { // Abre metodo factorial int i; // La variable i servira como contador int fact = 1; // Esta variable almacena el factorial for ( i = 1; i <= n; i++ ) fact *= i; return fact; // El valor de retorno es el factorial } // Cierra metodo factorial } // Cierra clase Main
Abajo aparece un par de ejecuciones del programa, una con un número par y otra con un número impar.
[hernandez@localhost Programas]$ java Main Por favor introduzca un numero entero. Si el numero es par, se imprimira el factorial, de lo contrario, se imprimiran los primeros n terminos de la serie de Fibonacci. 4 El factorial del numero es: 24 [hernandez@localhost Programas]$ java Main Por favor introduzca un numero entero. Si el numero es par se imprimira el factorial, de lo contrario, se imprimiran los primeros n terminos de la serie de Fibonacci. 7 El primer numero de Fibonacci es: 0 El segundo numero de Fibonacci es: 1 El numero de Fibonacci 3 es 1 El numero de Fibonacci 4 es 2 El numero de Fibonacci 5 es 3 El numero de Fibonacci 6 es 5 El numero de Fibonacci 7 es 8