Время года

  • 4
  • Недоступна
Напишите метод checkSeason. По номеру месяца, метод должен определить время года (зима, весна, лето, осень) и вывести на экран. Пример для номера месяца 2: зима Пример для номера месяца 5: весна
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (273)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Андрей Самойлов QA Automation Engineer в Ростелеком
25 мая, 19:54
Что-то я не пойму, что не так с моим решением?
if (month>=2&&month<=3||month==12){
            System.out.println("зима");
        }else if (month>=3&&month<=5){
            System.out.println("весна");
        }else if (month>=6&&month<=8){
            System.out.println("лето");
        }else if (month>=9&&month<=11){
            System.out.println("осень");
        }
Ответ из консоли:
зима
весна
лето
осень
На что получаю ошибку: "Проверьте, что правильно определяешь время года для весенних месяцев." Или что-то в мире изменилось, и апрель - уже не весна?
Paul
Уровень 12
10 декабря 2022, 11:26
System.out.println((month==12||month==1||month==2)?"зима":
        ((month==3||month==4||month==5))?"весна":
        ((month==6||month==7||month==8))?"лето":"осень");
Retr0
Уровень 12
28 ноября 2022, 22:44
ну я чет просто через if-else 😆
if (month == 12 || month == 1 || month == 2) {
            System.out.println("зима");
        }
        else if (month == 3 || month == 4 || month == 5) {
            System.out.println("весна");
        }
        else if (month == 6 || month == 7 || month == 8) {
            System.out.println("лето");
        }
        else {
            System.out.println("осень");
        }
Винс Нуар
Уровень 5
28 ноября 2022, 21:50
заодно циклы) тупо, но к синтаксису лиший раз привыкунуть
int[] winter = new int[] {12,1,2};
        int[] spring = new int[] {3,4,5};
        int[] summer = new int[] {6,7,8};
        int[] autumn = new int[] {9,10,11};

        for(int i=0;i<winter.length; i++){
            if (month == winter[i]){
                System.out.println("зима");
            }
        }

        for(int i=0;i<spring.length; i++){
            if (month == spring[i]){
                System.out.println("весна");
            }
        }

        for(int i=0;i<summer.length; i++){
            if (month == summer[i]){
                System.out.println("лето");
            }
        }

        for(int i=0;i<autumn.length; i++){
            if (month == autumn[i]){
                System.out.println("осень");
            }
        }
Retr0
Уровень 12
28 ноября 2022, 22:47
Заморочился 😳😄
Георгий
Уровень 5
9 августа 2022, 11:59
System.out.println(month>=3&& month<=5?"весна":month>=6&& month<=8?"лето":month>=9&& month<=11?"осень":"зима"); правда тут и 15 и 40 - всё зимой будет, но решение было принято))
Sofia Ibragimova
Уровень 4
4 марта 2022, 15:42
самое красивое решение, но система не приняла его(
switch (month) {
           case 1, 2, 12 -> System.out.println("зима");
           case 3, 4, 5 -> System.out.println("весна");
           case 6, 7, 8 -> System.out.println("лето");
           case 9, 10, 11 -> System.out.println("осень");
       }

       }

   }
Винс Нуар
Уровень 5
28 ноября 2022, 21:48
Лол, а на что ругались тесты?
Павло
Уровень 28
Expert
20 февраля, 07:55
break; забыли? ;)
Mihail Java Developer
24 ноября 2021, 12:37
4 раза if пишете, if( месяц == 1 || месяц == 2 || месяц == 3) , и без всяких if else, за оформлением кода тут не следят, главное то что прошли написать и все...а как будет красиво или нет это не важно ... Сразу приучают к некрасивому оформлению кода.... К тому чтоб решение было не в 1 строчку компактно и красиво а в пол листа с путаницей..=))))
Mihail Java Developer
24 ноября 2021, 12:32
Проходим if а правильное решение показано switch.... Раньше пытался по другому решить задачу и задал вопрос почему неправильно, админ ответил вы это не проходили... А тут проходим if но правильное решение switch...отлично..=))))
YesOn
Уровень 13
11 сентября 2021, 06:54
На мой взгляд, через if else уместней решить. Про switch даже намёка не было. Понятно, что надо расширять кругозор и уметь гуглить, но это явно не тот случай. Тут if-ом всё вполне просто решается и безовсякого гуглежа, тем более в лекции про "Условные операторы". А про switch почитаю - на будущее🙂
Galymzhan
Уровень 15
29 октября 2021, 10:32
мне интересно, если смог решить через if и про swich не использовал, то это считается нет развития у меня?)
YesOn
Уровень 13
29 октября 2021, 23:54
Развитие есть при изучении доступных инструментов изучаемого языка программирования и методов написания кода. Решать задачи можно любым понятным для Вас способом. А учиться правильно писать код нужно по книгам, либо у менторов. Так что не стоит сильно на этом заморачиваться. Просто решайте и разбирайтесь в решении, оно может быть правильным как своё, так и у разработчиков данного ресурса. Главное, чтобы валидатор прошло.
Dark Missaya
Уровень 9
27 июля 2021, 10:54
По логике можно так решить, заметив что при целочисленном делении на 3, чисел месяцев (кроме зимы) получаются соответственно "1", "2" и "3"
public static void checkSeason(int month) {
        if (month / 3 == 1)
            System.out.println("весна");
        else if (month / 3 == 2)
            System.out.println("лето");
        else if (month / 3 == 3)
            System.out.println("осень");
        else
            System.out.println("зима");