Так как все значения переменных “goTo…” до условия являются ложными, то по-новой переопределять их с тем же значением в условии - избыточно. Избавимся от всех переопределений переменных “goTo…” в условиях, если только мы не переопределяем их как true. Таким образом, то, что нужно, на выходе будет true, остальное, как и раньше - false.
Структуру кода тоже можно сократить. Можно отталкиваться не от времени похода Кекса за молоком, а от того, куда он должен идти. Таким образом получим только три “ветки” условия: основную и две альтернативных.
Начнём с самого удобного варианта для Кекса:
Кекс идёт на молокозавод
if (time >= 8 && time < 13 || time >= 14 && time < 19) {
goToDairy = true;
}
Потом пропишем альтернативу (на молокозаводе обед, поэтому идём в магазин, в остальных случаях идти в магазин Кексу не удобно):
Кекс идёт в магазин
else if (time >= 13 && time < 14) {
goToStore = true;
}
Последним шагом будет условие для рынка, куда Кекс идёт, когда а)молокозавод не открылся или б)молокозавод уже не работает.
Кекс идёт на рынок
else if (time >= 7 && time < 8 || time >= 19 && time < 20) {
goToMarket = true;
}
в соседней ветке мы уже обсуждали это, в общем самое норм прописать просто в порядке приоритета в условиях режим работы, а командами else if вызывается следующая в приоритете точка продажи.
вот так
if (time >= 8 && time < 13 || time >= 14 && time < 19) {
goToDairy = true;
} else if (time >= 9 && time < 14 || time >= 15 && time < 17) {
goToStore = true;
} else if (time >= 7 && time < 20) {
goToMarket = true;
}
Добрый день! Специально зарегистрировалась, что бы написать)
В прошлых практических задачах этой же главы на else if выдавало синтаксическую ошибку при написании кода, а в этой задаче ВНЕЗАПНО стало необходимым для решения. Причем в следующей задаче на else if опять выдает ошибку синтаксиса. Мне кажется, было бы логично в условии задачи Путь к молоку прописать, что конкретно в этой задаче МОЖНО (нужно?) использовать else if.
if (предикат1) {телоУсловия} else if (предикат2) {телоУсловия}
соответственно вы забыли закрывающую фигурную скобку
также у вас ошибка в 7 строке, в предпоследней позиции, просто с точки зрения интерпретатора она не грубая по синтаксису (но грубая по смыслу)