For Schleife in While Schleife umwandeln

katchy

Aktives Mitglied
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:
Java:
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:

Java:
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
 
Zuletzt bearbeitet von einem Moderator:
Is erstmal schoener zu lesen....
Java:
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);
Java:
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);
 
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.
 

Zurück
Oben