# Fibonacci-Folge mit while-Schleife



## Misty Jane (26. Okt 2014)

Hallo,

ich möchte gerne ein Programm mit einer while-Schleife schreiben, das die ersten 50 Fibonacci-Zahlen berechnet. Die Variablen sind vorgegeben, daher weiß ich auch nicht weiter.
Statt mit 0, 1, 1, 2, 3,... beginnt meine Fibonacci-Folge mit 2, 3, 5,...
Wie bekomme ich denn nun die 0, 1, 1 davor?


```
public class Fibonacci {
    public static void main (String args[]) {
         
               int zahl1 = 1;
               int zahl2 = 1;
               int zahlMax = 50;
               int fn;
               int n=3;

               while(n<=zahlMax) {
                      fn=zahl1+zahl2;
                      zahl1=zahl2;
                      zahl2=fn;
                      n++;
 
                     System.out.println(fn);
              }
      }
}
```

Vielen Dank im Voraus


----------



## knilch (26. Okt 2014)

So vlt?

```
...
System.out.println(0);
System.out.println(1);
System.out.println(1);
while(n<=zahlMax) {
   fn=zahl1+zahl2;
   zahl1=zahl2;
   zahl2=fn;
   n++;

   System.out.println(fn);
}`
```


----------



## arilou (27. Okt 2014)

Eleganter wäre, mit zahl1=0 und zahl1=1 zu beginnen, in der Schleife ganz zu Beginn zahl1 auszugeben (System.out.println(...)), und ggf. die Abbruchbedigung anzupassen (z.B. while( n <= (zahlMax+1) ) oder ähnliches).


----------



## Misty Jane (27. Okt 2014)

knilch hat gesagt.:


> So vlt?
> 
> ```
> ...
> ...



So ähnlich habe ich das auch gemacht. Ich hatte gehofft, dass sich die ersten Zahlen berechnen lassen, daher meine Frage.


----------



## Misty Jane (27. Okt 2014)

arilou hat gesagt.:


> Eleganter wäre, mit zahl1=0 und zahl1=1 zu beginnen, in der Schleife ganz zu Beginn zahl1 auszugeben (System.out.println(...)), und ggf. die Abbruchbedigung anzupassen (z.B. while( n <= (zahlMax+1) ) oder ähnliches).



Sicher wäre das sinnvoller, aber die Variablen und die Abbruchbedingung waren vorgegeben.


----------

