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);
}
}
Dziękuję bardzo, już rozumiem!
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.