Осваивание статического блока

  • 8
  • Недоступна
Cоздадим классы Plane и Helicopter, реализующие интерфейс CanFly, после чего в статическом методе reset класса Solution нужно считать с консоли параметр типа String и если он равен helicopter (plane), то статическому объекту CanFly result присвоить объект класса Helicopter (Plane). В статическом блоке инициализировать CanFly result вызвав метод reset.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (149)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Михаил Java Developer
5 апреля, 19:48
Вы решили задачу лучше, чем 19% учеников. Вам удалось ее решить с 2 попытки. Среднее количество попыток для этой задачи 2.19. Всего эту задачу решили 33815 учеников. Ваша награда: x8
xxxx
Уровень 16
10 мая, 11:37
Михаил! Вторая попытка - это хуже, чем первая. Не отчаивайся. Отчет принят.
Иван
Уровень 28
2 апреля, 10:27
При запуске в идее так и должно выскакивать исключение при вводе мест в самолете? А то вроде решение получилось, как в правильном варианте, но исключение вылетает. Ковырял его и так и эдак. В итоге плюнул отправил как есть и принялось.
ssssssergeenkov
Уровень 30
25 марта, 14:24
задача топ. лайк
Anonymous #3232154
Уровень 37
22 марта, 18:44
смотрю в последних задачах везде используется reader.readLine(), может кто лекцию скинуть с использованием этого метода?
Stepan Kozlov
Уровень 29
Expert
17 февраля, 18:33
Может мне кто-нибудь объяснить, почему IDE раз на раз просит обернуть закрытие потока (сlose()) в try/catch? Что-бы что? Зачем? Выглядит, как-будто я говно какое-то написал.
Лебовски
Уровень 42
30 января, 15:10
Всего эту задачу решили 33149 учеников.
zimbaby
Уровень 28
12 ноября 2022, 14:44
Занятно, поток не закрыл, а валидатор принял.....
Ильдар
Уровень 25
13 февраля, 10:49
не в первой задаче этот косяк уже
Даниил
Уровень 19
21 октября 2022, 07:05
Смотришь на задачу и волосы дыбом. Но на самом деле тут ничего сверхъестественного нет. Правда у меня возникла сложность в присвоении объекту CanFly result других объектов. Но почитав статьи разобрался что к чему. В итоге вот такое решение
static {
        reset();
    }

    public static CanFly result;

    public static void reset() {
        трай {
            Создаем ридер
            String input = reader.readLine();
            свитч (input){
                кейс "вертолет" : result = new Вертолет();
                    reader.close();
                    break;
                кейс "самолет" : result = new Самолет(Integer.parseInt(reader.readLine()));
                    reader.close();
                    break;
            }

        } кетч (IOException e) {
            throw new RuntimeException(e);
        }
Lafaed
Уровень 36
22 декабря 2022, 06:59
public static void reset() { //add your code here - добавьте код тут try (BufferedReader input = new BufferedReader(new InputStreamReader(System.in))) { result = (input.readLine()).equals("helicopter") ? new Helicopter() : new Plane(Integer.parseInt(input.readLine())); }catch (IOException ioe) {} }
Anonymous #3193052
Уровень 38
30 декабря 2022, 18:35
А потом Валидатор посылает с таким кодом, потому, что "Закрыть поток ввода методом close()" и все переделывай, уже зашугали с глупыми условиями - учимся быдлокодить с младенчества))) По тернарному не соглашусь. Если ввести "йцукен" - создаст из него самолет. Свич с кейсом по умлочанию считаю оптимальным со всех сторон.
Lafaed
Уровень 36
31 декабря 2022, 06:38
1) "йцукен" конечно стоит дополнительно обработать, но пока в задаче этого не требуется но в дальновидной перспективе конечно следует поправить. 2) Так как у нас либо "вертолет" либо "самолет" (ну если без ошибок конечно из п.1) - полагаю тернарный оператор вполне хорош в этом вопросе. 3) " А потом Валидатор посылает с таким кодом, потому, что "Закрыть поток ввода методом close()" " :
try (BufferedReader input = new BufferedReader(new InputStreamReader(System.in))) { ... } // Уже предполагает автоматическое закрытие потока.
Anonymous #3193052
Уровень 38
2 января, 01:10
В одной из задач ранее уже было требование использовать .close и уже были возмущения про "зачем учили try-with-resources", если валидатор его все равно не пропускает.
Lafaed
Уровень 36
2 января, 07:55
Но пропустил же! Я согласен что поведение валидатора порой неожиданно.
xxxx
Уровень 16
10 мая, 11:45
впервые увидел код на смеси кирилицы и латиницы - зачет!
Даниил
Уровень 19
24 мая, 12:12
Что бы модераторы не удалили🙂
Grock
Уровень 33
3 октября 2022, 20:37
Закрыть поток ввода методом close().
А у меня пропустило и без закрытия потока...
Радион
Уровень 41
15 августа 2022, 07:33
можете подсказать с чем связана эта ошибка Не могу найти описание класса "Solution" в packageе "ru.rush.task.task15.task1518". Возможно вы забыли его импортировать (указать в import). файл com/javarush/task/task15/task1529/Helicopter.java, строка 3, позиция 76
pas34n1k
Уровень 23
25 сентября 2022, 12:46
у тебя среда не тот проект грузить начала, сбрось прогресс задачи и напиши код снова - все получится
Grock
Уровень 33
3 октября 2022, 20:35
А я создаю классы в компилятора на JR и копирую туда код из Идеи. Геморно, конечно, но работает :)