Ich habe folgendes Programm zur Berechnung der n-ten Fibonacci-Glied mit Hilfe von einem Freund gemacht. Aber da verstehe ich einige Sachen immer noch nicht. Hier ist das Programm:
Java:
publicclass fibo {/**
* @param args
*/publicstaticvoidmain(String[] args){System.out.print("n = ");int n =In.readInt();// Eingabeif(n<0)System.exit(n);// Beendung des Programmslong result =fib(n);System.out.println("F"+n+" = "+result);}publicstaticlongfib(int n){long fn =1;long fn_1 =1;long fn_2 =1;for(int i =2; i < n; i++){// wir rechnen die fibonacci zahlen hintereinander
fn = fn_1 + fn_2;// Darueber brauchen wir nur die 2 letzt berechnete Glieder
fn_2 = fn_1;// zu speichern. Damit koennen wir leicht den nechsten
fn_1 = fn;// Fibonacci-Glied berechnen.}return fn;}}
Was macht
Java:
return fn;
hier? Außerdem bentze ich zum ersten Mal zweimal dieses ''public static'' Ding. Warum brauchen wir hier zweimal static. Ich weiß, dass void bedeutet, dass der Method kein ''return-typ'' hat. Aber deshalb verstehe ich das nicht so gut.
static sagt das die sachen statisch sind, also auch ohne initialisieren gebraucht werden können.
bei der main musses damit se als start funktionieren kann, bei der methode musses diesmal, im normalfall nicht (wenn du die klasse als objekt gebrauchn würdest) das liegt daran das du die klasse sonst nicht initialisiert hast und somit nicht an die methode könntest
also erstmal ist das "Ding" eine methode
und du hast sonst wahrscheinlich einfach immer alles direkt in die main methode geschrieben.die ist aber eig. nur der einstiegspunkt eines java-programmes.
hier wird jetzt eine weitere methode(fib) definiert und verwendet.
also erstmal ist das "Ding" eine methode
und du hast sonst wahrscheinlich einfach immer alles direkt in die main methode geschrieben.die ist aber eig. nur der einstiegspunkt eines java-programmes.
hier wird jetzt eine weitere methode(fib) definiert und verwendet.
Achso Ok vielen vielen Dank jetzt verstehe ich es so richtig Es ist eigentlich sehr schwer für mich, weil ich bischer nicht einmal programmiert habe. Da wo die anderen 10 minuten brauchen um so ein Programm zu schreiben, spende ich im gegensatz dazu 2 Stunden. Aber die Methode Probe Fehler funktioniert soweit richtig :bae: Ich lerne von meinen Fehlern!