WHILE & CONTINUE

WHILE & CONTINUE
J8
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 4 lata
  • Postów:10
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:

Kopiuj
        int number = 1;
        while (number <= 10)
        {
            if (number == 7)
           {
                continue;
            }
            System.out.print(number + " ");
            number++;
        }
        System.out.println("\nKoniec!");
BO
  • Rejestracja:około 6 lat
  • Ostatnio:10 dni
  • Postów:214
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.

edytowany 5x, ostatnio: Botek
MA
  • Rejestracja:prawie 17 lat
  • Ostatnio:11 dni
0

Można np. tak:

Kopiuj
int number = 1;
while (number <= 10)
{
   if (number != 7)
     System.out.print(number + " ");
   number++;
}
System.out.println("\nKoniec!");
edytowany 3x, ostatnio: marogo
J8
MAROGO podpowidz mi proszę jak umieszczasz kod w poście? Mój kod zamieszczony poniżej jest "suchy" bez numeracji i kolorów, które nadają przejrzystości - używam tylko trzy apostrofy na początku kodu i na końcu w nowych liniach - tak jak jest opisane w krótkiej instrukcji. Dzięki za odpowiedz.
MA
@Jurij80 z paska przycisków formatowania tekstu postu wybierasz ten ostatni przycisk z trójkącikiem (po przycisku "</>") i z listy wybierasz odpowiedni język, np. Java.
J8
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 4 lata
  • Postów:10
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:

Kopiuj
int number =0;
while (number <= 9)
    {
    number++;
    if (number == 7)
        {
        continue;
        }
    System.out.print(number + " ");
    }
System.out.println("\nKoniec!");
aolo23
Jeśli wiesz ile iteracji Ci potrzebne to zawsze for, jeśli znasz tylko warunek wyjścia to while (to tak na przyszłość, juz poza zadaniem )
MA
@Jurij80 "trzeba użyć zarówno WHILE jak i CONTINUE" - tego nie było w pierwszym poście. 😛

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.