# Problem mit Schleife



## Timo90 (25. Okt 2009)

```
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


----------



## Landei (25. Okt 2009)

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 (25. Okt 2009)

```
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 (25. Okt 2009)

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


----------



## Timo90 (25. Okt 2009)

Ok, ich habe zu danken!!!


----------



## ttplayer (1. Nov 2009)

Kann es sein, dass das in der ersten Schleife i*<*= 2 heißen sollte??


----------

