WHILE & CONTINUE

0

Witam ponownie, poproszę Kolegów o podpowiedz... według mojej skromnej wiedzy (i w oparciu o lekturę) wszystko jest OK, ale wynik nie jest taki jaki oczekuję.
Tzn. wynik działania powinien być:
1 2 3 4 5 6 8 9 10
Koniec!

Ale wynik który otrzymuję to:
1 2 3 4 5 6
czyli nie kontynuuje iteracji od 8 do 10 i nie wczytuje ostatniego polecenia poza pętlą.
KOD:

        int number = 1;
        while (number <= 10)
        {
            if (number == 7)
           {
                continue;
            }
            System.out.print(number + " ");
            number++;
        }
        System.out.println("\nKoniec!");
4

A jak ma to działać? Number cały czas będzie 7 bo cały czas if będzie spełniony i cały czas będzie przechodziło do następnego kroku.(continue od razu przechodzi do następnego kroku więc dwie ostatnie linii nie będą się wykonywać) Więc otrzymasz nieskończoną pętle. Są dwie możliwości zrobienia tego incrementuj number przed ifem i wtedy na starcie number ustaw na 0 lub incrementuj też w ifie przed instrukcją continue.

0

Można np. tak:

int number = 1;
while (number <= 10)
{
   if (number != 7)
     System.out.print(number + " ");
   number++;
}
System.out.println("\nKoniec!");
0

MAROGO dzięki za odpowiedz. Ćwiczenie polega na tym, żeby uzyskać końcowy efekt:
1 2 3 4 5 6 8 9 10
Koniec!

trzeba użyć zarówno WHILE jak i CONTINUE. Ale podpowiedź BOTEK jest OK i kod powinien wyglądać następująco:

int number =0;
while (number <= 9)
    {
    number++;
    if (number == 7)
        {
        continue;
        }
    System.out.print(number + " ");
    }
System.out.println("\nKoniec!");

1 użytkowników online, w tym zalogowanych: 0, gości: 1