# For Schleife in While Schleife umwandeln



## katchy (9. Mai 2016)

Hallöchen
also ich habe ein kleines Problem: ich solle eine For Schleife in eine While Schleife umwandeln, die dann genau das gleiche macht.
Die For Schleife:

```
int bis = IO.readInt();
     for (int i=0; i<bis; i++) {
       if (i % 2 != 0) {
         if (i < bis/2) {
           continue;
         }
         bis--;
       }
     System.out.println(i);
     }
     int i = IO.readInt();
     System.out.println(i);
```

Ich habe daraus dann folgende While Schleife gemacht:


```
int i = 0;    
     while (i<bis){
       if (i % 2 != 0) {
         if (i < bis/2){
           continue;
         }
         bis--;
       }
       IO.println(i);
       i++;
     }
   int y = IO.readInt("Wert: ");
   IO.println(y);
```

Jedoch kommt dabei nicht das gleich raus^^

Habt ihr vielleicht eine Lösung?

Liebe Grüße
Katchy


----------



## Meniskusschaden (9. Mai 2016)

In der for-Schleife wird i bei jedem Schleifendurchlauf inkrementiert, in der while-Schleife nicht.


----------



## katchy (9. Mai 2016)

aber ich hab doch auch in die while Schleife das i++ mit eingebunden^^ warum funktioniert das denn nicht?


----------



## BuckRogers (9. Mai 2016)

Is erstmal schoener zu lesen....

```
int i = 0;
while (i<bis){
    if (i % 2 != 0) {
        if (i < bis/2){
            continue;
        }
        bis--;
    }
    IO.println(i);
    i++;
}
int y = IO.readInt("Wert: ");
IO.println(y);
```


```
int bis = IO.readInt();
for (int i=0; i<bis; i++) {
    if (i % 2 != 0) {
        if (i < bis/2) {
            continue;
        }
    bis--;
    }
    System.out.println(i);
}
int i = IO.readInt();
System.out.println(i);
```


----------



## Meniskusschaden (9. Mai 2016)

Du springst aber manchmal mit continue zur nächsten Schleifeniteration. Bei der for-Schleife wird dann im Schleifenkopf inkrementiert, in der while-Schleife erreichst du die Inkrementierung in diesen Fällen aber nicht mehr, weil sie erst später im Schleifenrumpf steht.


----------



## katchy (9. Mai 2016)

Super danke jetzt hab ich es hinbekommen


----------

