EwaM 772 wyśw. 01-09-2021 12:22

Zadanie domowe nr2 zadanie 13a)

Rozumiem rozwiązanie w odpowiedziach, ale zastanawia mnie dlaczego kod napisany w ten sposób nie działa?


public class MyClass {

    public static void main(String args[]) {


int a = 46;

System.out.println("Wybrałeś liczbę " + a);

int i = 0, suma = 0;

while (i%7 == 0 && i<a) {

    suma = suma + i;

    i = i + 1;

}

System.out.println("Suma liczb podzielnych przez 7 i mniejszych od " + a + " to: " + suma);



    }

}


Programowanie Dodaj post do ulubionych Poproś o pomoc
s.gugula 02-09-2021 13:35

Program nie zadziała w pożądany sposób, ponieważ wykona się tylko jedna iteracja pętli while (dla początkowego i równego 0). Potem zmienna i stanie się równa 1 i warunek w nawiasie pętli while nie jest już spełniony (bo reszta z dzielenia 1 przez 7 nie jest równa 0), w związku z czym pętla kończy swoje działanie - suma jest wtedy równa ciągle 0.


EwaM 03-09-2021 11:08

Dziękuję bardzo, już rozumiem!