Lieber Besucher, herzlich willkommen bei: HTML, CSS und PHP Forum - HTML Tutorial. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.
habe ich mit "meinen Kollegen" einen Server zusammengebaut und die Zeit wurde gestoppt. Irgendsoein DELL Server war das.
Zitat von »"philipp e."«
...Für heute ist es genug und habe dann Onlinegames gespielt...
Zitat
warum machst du denn nicht was sinnvolles mit Java

Wieso wir dir?
Zitat von »"philipp e."«
Ja OK Dann gib mir doch mal eine Aufgabe![]()
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
import java.io.*;
public class FakultaetTest {
public static void main(String[] args) throws IOException
{
BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
String Input;
System.out.println("Bitte geben Sie eine Zahl ein:");
Input = stdin.readLine();
int zahl = Integer.parseInt(Input);
System.out.println("Die Fakultaet von " + zahl + " ist " + calculate(zahl));
}
static long calculate(int max) {
long fakultaet = 1;
for (int zahl=1; zahl<=max; zahl++) {
fakultaet = fakultaet * zahl;
}
return fakultaet;
}
}
|




Zitat von »"Sören"«
Die andere Lösungsmöglichkeit nennt sich Rekursion.
Was auf Funktionen bezogen bedeutet, eine Funktion ruft sich immer wieder selber auf.
Deine Grafik gibt dir eigentlich auch schon ziemlich genau vor, wie du das umsetzen kannst.
Die fakul-Funktion ruft sich solange selber auf, bis n 1 ist.
Das bedeutet, der erste Aufruf (mit beispielsweise n = 3) gibt das Ergebnis von n * der Fakultät von n - 1 zurück, das ganze verschachtelt sich dann solange, bis schließlich der innerste Funktionsaufruf 1 zurückgibt.
Die Klammern stellen die Verschachtelung dar: 4 * (3 * (2 * (1)))
Typische Programmbeispiele für die Rekursion sind vor allem Fakultät und Fibonacci-Formel.
Hier mal der Link zum Wikipedia Artikel zur Rekursion:
http://de.wikipedia.org/wiki/Rekursion
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
package RekursiveFakultät;
import javax.swing.JOptionPane;
public class Test2 {
static int fakt = 1;
static int count = 0;
public static void main(String args[]){
String string = JOptionPane.showInputDialog(null, "Deine Zahl?");
int i = Integer.parseInt(string);
System.out.println(fac(i));
}
public static int fac(int i){
if(i == count)
{
return fakt;
}
else if(i == 1)
{
return fakt;
}
else
{
count ++;
fakt = i*(fac(i-1));
}
return fakt;
}
}
|
DDD
