Abbruchbedingung, Schleifen

jonasvi

Mitglied
Guten Tag ;D
Ich hätte da eine Frage. Ich wollte alle Fibonacci Zahlen kleiner als eine Zahl x ausgeben und habe gedacht das würde so gehen:

Java:
public class PaarSchleifen {
    public static void main(String[] args) {

        int i1 = 1;
        int i2 = 1;
        int in;
        do {
            for (int n = 1; ;++n) {
                in = i1 + i2;
                i1 = i2;
                i2 = in;
                System.out.println("Zahl " + in);
            }
        } while (in < 100);

    }
}

Verstehe nicht was daran falsch ist. Das ist doch eine DO-WHILE Bedingung.
Habe es auch versucht While oben im Kopf des Codes zu schreiben, aber funktioniert auch nicht.
Ist eine Endlosschleife, ich weiß nicht warum. Ddie Variable "in" habe ich doch auf eine Zahl kleiner x begrenzt (hier 100) in der While Bedingung

Mit freundlichen Grüßen,
jonasvi
 
Zuletzt bearbeitet von einem Moderator:

jonasvi

Mitglied
Du hast hier keine Abbruchbedingung drinne - zwischen den ; ;
Ja, aber das ist ja nur die n-te Fibonacci Stelle. Hat ja nichts mit einer Zahl kleiner als x zu tun.
Deswegen dachte ich das ich das halt so laufen lasse bis die While Schleife Stopp sagt.

Danke für die Tipps. Wieder etwas dazugelernt. War blind.

Code:
long i1 = 1;
long i2 = 1;
long in=0;
              while(i1+i2<90){
                in = i1 + i2;
                i1 = i2;
                i2 = in;
                System.out.println("Zahl " + in);
funktioniert
Mfg.
 

Neue Themen


Oben