Problem mit Schleife

Status
Nicht offen für weitere Antworten.

Timo90

Mitglied
Java:
        boolean b=true;
        int summe=0;
        
        for (int i=13; i>=2; i--){
        if (i % 2 == 0 && i != 2) {
            i--;}

        for (int t= 3; t<i; t=t+2){
             if (i % t==0)
                 b=false;}

             if (b=true){ summe=summe+i;}        
        }
        System.out.print(summe);}
}

Ich komme aus der zweiten for Schleiße nicht raus, wenn i beispielsweise 9 ist :(
 
Zuletzt bearbeitet:

Landei

Top Contributor
Bei if (b=true) willst du doch sicher prüfen, ob b true ist, oder? Aber = ist eine Zuweisung. Also entweder if(b==true) oder die Profi-Variante if(b).

Wenn es dann immer noch nicht funzt, poste bitte den Code nochmal mit ordentlicher Einrückung (macht dir die IDE deines Vertrauens), sonst bekommt man ja Augenkrebs...
 

Timo90

Mitglied
Java:
        boolean b = true;
        int summe = 0;

        for (int i = 13; i >= 2; i--) {
            if (i % 2 == 0 && i != 2) {
                i--;
            }

            for (int t = 3; t < i; t = t + 2) {
                if (i % t == 0) {
                    b = false;
                }
            }
            if (b == true) {
                summe = summe + i;
            }
        }
        System.out.println(summe);
    }
}

Dann kommt leider nur 24 raus, weil bei 7 verlässt er die Schleife nicht und macht mit 6 gelich weiter...
 

Landei

Top Contributor
Kann es sein, dass das boolean b = true; in die Schleife rein muss? Wenn du es einmal auf false gesetzt hast, bleibt es doch sonst für immer false
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben