Hallo zusammen!
Das ist mein erster Eintrag in diesem Forum. Ich danke euch schon mal für eure Hilfe.
Ich habe versucht, ein Programm zu schreiben, das mir die n-te Fibonacci-Zahl berechnet. Leider meldet der Compiler folgenden Fehler: Fibonacci.java:18: variable fn might not have been initialized
fn_1=fn;
Mir ist nicht klar, weshalb die Variable nicht initialisiert sein soll. In der while-Schleife setze ich ja fn=fn_1+fn_2, also sollte doch beim ersten Durchlauf fn den Wert 2 erhalten, da ich fn_1 und fn_2 mit 1 initialisiert habe.
Kann mir jemand sagen, wo der Fehler liegt?
Gruß, phrygian
Das ist mein erster Eintrag in diesem Forum. Ich danke euch schon mal für eure Hilfe.
Ich habe versucht, ein Programm zu schreiben, das mir die n-te Fibonacci-Zahl berechnet. Leider meldet der Compiler folgenden Fehler: Fibonacci.java:18: variable fn might not have been initialized
fn_1=fn;
Mir ist nicht klar, weshalb die Variable nicht initialisiert sein soll. In der while-Schleife setze ich ja fn=fn_1+fn_2, also sollte doch beim ersten Durchlauf fn den Wert 2 erhalten, da ich fn_1 und fn_2 mit 1 initialisiert habe.
Kann mir jemand sagen, wo der Fehler liegt?
Gruß, phrygian
Code:
class Fibonacci
{
public static void main(String[] args)
{
int n=Integer.parseInt(args[0]);
int i=2;
int fn; //n-te Fibonacci-Zahl
int fn_1=1; // (n-1)-te Fibonacci-Zahl; zu Beginn ist sie gleich 1
int fn_2=1;
if(n==0 || n==1)
fn=1;
else
{
while(i<=n)
fn=fn_1 + fn_2;
fn_2=fn_1;
fn_1=fn;
i += 1;
}
System.out.println(fn);
}
}