Решила задачу по аналогии с примером из лекции, но не пойму логику, гляньте на решение с моими комментами и объясните почему так, пожалуйста))
public class Solution {
public static void main(String[] args) {
int x = 1; \\ задаем переменную с минимальным нужным значением
int s = 0; \\ тут будем хранить сумму
while (x <= 100) { \\ пусть цикл работает пока х меньше или равен 100
if (x % 2 == 0) { \\ если число четное
s = s + x; \\ плюсуем его к сумме
x++; \\ увеличиваем х на единицу
} else { \\ если не четное
x++; \\ увеличиваем на единицу ?? Зачем?
continue; \\ заканчиваем виток цикла
}
}
System.out.println(s); \\вывод суммы
}
}
VikaM
5 уровень
Решение верно, суть неясна
Обсуждается
Комментарии (9)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
MasterMarg
23 мая 2023, 09:50
В смысле ЗАЧЕМ увеличиваем х на 1. Если его не увеличить, то ты на первом же витке бесконечно будешь висеть, ведь у тебя х = 1, нечетное, и так бесконечно будешь одно и то же делать, пока приложение не обвалится.
Меня вот больше интересует, нафига писать conitnue, если у тебя и так конец витка цикла, он сам на следующий пойдет -_-
0
Idunno Lol
16 января 2023, 08:10
/* Комментарий удален */
0
consant_menace
4 сентября 2022, 14:33
x увеличиваем на единицу, чтобы не получить бесконечный цикл. Ведь если x - нечётное, в условии будет вечно срабатывать else. continue нужен, программа и без него пойдёт на новый виток.
0
Денис Java Developer
29 августа 2022, 16:21
увеличиваем на единицу ?? Зачем?
Убери эту строку, запусти код и посмотри что получится.
Что в этом коде действительно не нужно так это continue.
Да и в целом, зачем чесать левой пяткой правое ухо? Если задача просуммировать все четные числа от 1 до 100 включительно используя именно while, то все делается сильно проще.
+3
Александр Поздняков
7 ноября 2022, 19:53
в лекции куда более сложный вариант)) спасибо!
0
Anonymous #3293360
23 мая 2023, 02:48
а что означает (s + = x)?
0
Денис Java Developer
23 мая 2023, 07:27
s = s + x в более короткой записи
0
MasterMarg
23 мая 2023, 09:52
Я думаю ее свое же continue смутило, ведь с ним выглядит так, будто ветки if-else нельзя упростить, хотя на самом деле можно
0
MasterMarg
23 мая 2023, 09:54
в лекциях всегда все сложнее, потому что цель лекций - не просто показать, как решить задачу, а показать разные подходы + напомнить какой-то прошлый материал, который чисто теоретически можно тут использовать, например, continue, который подходит под циклы. Просто он здесь не нужен, но в лекции его могли упомянуть как еще одну команду для работы с циклами
0