/** * @author mh * @version 1.01 * @date 14.05.2012 * @class fakultaet */ import java.util.Scanner; class Fakultaet { public static void main(String[] args) { System.out.println(".. begin of fakultaet ..\n"); int z = getInt("Von welchem Wert n wollen Sie n! berechnen: "); System.out.println("iterativ, n: "+z+" n!: "); print(itFak(z)); System.out.println("rekursiv, n: "+z+" n!: "); print(rekFak(z)); System.out.println("\n.. end of fakultaet .."); } // main // iterativer Algm static int itFak(int n) { int f=0; if (n<0 || n>12) { System.out.println ("unzulaessiger Wert"); } else { f = 1; for (int i= 1;i<=n;i++) { f = f*i; } //for } return f; } // itFak // rekursiver Algm static int rekFak(int n) { int f = 0; if (n<0 || n>12) { System.out.println ("unzulaessiger Wert"); } else if (n==0) { f = 1; } else { f = rekFak(n-1)*n; } // if return f; } // rekFak // Hilfsroutine zum Drucken static void print(int n) { int[] zahl = new int[10]; for (int i=1; i<=10; i++) { zahl[10-i] = n % 10; n = n / 10; } // for for (int i=0; i<10; i++) { if ((i == 1) || (i == 4) || (i == 7)) { System.out.print("."); System.out.print(zahl[i]); } else { System.out.print(zahl[i]); } // if } // for System.out.println(); } // print // Vereinfachung der Eingabe static int getInt(String message) { Scanner in = new Scanner(System.in); System.out.print(message); return in.nextInt(); } // getInt } // Fakultaet