Здравейте,
Опитвам се да реша задачата guess the season като използвам nested if statements, но не успявам да принтирам сезона на конзолата:
Нуждая се от джокер помощ от публиката.
Здравейте,
Опитвам се да реша задачата guess the season като използвам nested if statements, но не успявам да принтирам сезона на конзолата:
Нуждая се от джокер помощ от публиката.
Имаш пропуски , примерно 2-рата част на June
На 1 място видях си писал месеца с малка буква - september
Не ползвай == когато сравняваш string ,пробвай с .equals - if(month.equals(“January”) {}
Така с тези if-ове ще работи по принцип , но пробвай със switch , кода ще е по-изчистен и лесен за проследяване
Здрасти,
Хубаво е да има и някакъв вариант за човек извън Alpha Prep групата да види условието, за да ти даде по-точен съвет.
Към съвета на колегата мога да добавя:
Имаш прекалено много if statements. Вместо да проверяваш всеки месец поотделно (Повече от 12 if statements), по-скоро проверявай дали входните данни отговарят на критерия за сезона - точно 4 if statements.
Тази проверка е валидация на входа. Ако в условието ти пише, че няма да ти подават 315-ти март или минус 5-ти декември, можеш да го махнеш.
if (date >= 1 && date <= 31)
Може да ползваш метода equalsIgnoreCase() за стрингове
По спомен в Alpha Prep още не се предполага да работите със switch statement. Ако е така - не се мъчи да го заучаваш сега, така или иначе е подобно на много if statements.
Ето и един къс пример за илюстрация:
if (month.equalsIgnoreCase("january") || month.equalsIgnoreCase("february") ||
(month.equalsIgnoreCase("march") && date <= 20) || (${insert_December_logic_here}) {
System.out.println("Winter");
}