task0803. Задача "Коллекция HashMap из котов"

Всем привет) Это мое первое сообщение на форуме) Сегодня только зарегался) Я вот задачу решил, но не проходит проверку. Не могу понять, почему
Коллекция HashMap из котов
Есть класс Cat с полем имя (name, String).
Создать коллекцию HashMap<String, Cat>.
Добавить в коллекцию 10 котов, в качестве ключа использовать имя кота.
Вывести результат на экран, каждый элемент с новой строки.

Требования:
1. Объяви переменную коллекции HashMap с типом элементов String, Cat и сразу проинициализируй ee.
2. Программа не должна считывать значения с клавиатуры.
3. Метод addCatsToMap()должен добавлять в коллекцию 10 котов, согласно условию.
4. Программа должна выводить содержимое коллекции на экран, каждую пару через дефис и с новой строки.

Вот мой код:
public class Solution {
    public static void main(String[] args) throws Exception {
        String[] cats = new String[]{"васька", "мурка", "дымка", "рыжик", "серый", "снежок", "босс", "борис", "визя", "гарфи"};
        HashMap<String, Cat> map = addCatsToMap(cats);

        for (Map.Entry<String, Cat> pair : map.entrySet()) {
            System.out.println(pair.getKey() + " - " + pair.getValue());
        }
    }

    public static HashMap<String, Cat> addCatsToMap(String[] cats) {
        HashMap<String,Cat> my = new HashMap<>();
        for (int i = 0; i <cats.length ; i++)
        {
            String name = "Котяра"+i;
            my.put(cats[i],new Cat(name));
        }
        return my;
    }

    public static class Cat {
        String name;

        public Cat(String name)
        {
            this.name = name;
        }

        @Override
        public String toString()
        {
            return name != null ? name.toUpperCase() : null;
        }
    }
}
  • ,

task24.task2413(7), Баг валидатора? Прошу помочь.(РЕШЕНО)

Добрый день. Прошу помощи упёрся в задание арканоид(7) вроде всё правильно, но валидатор выдаёт нечто непонятное.
Задание:
Арканоид(7)
Теперь перейдем к классу BaseObject.
Я хочу сделать несколько предложений.
Во-первых для простоты считать все объекты у нас будут круглыми.
Нет, отрисовывать их мы будем фигурными, как и раньше.
А вот при расчетах из взаимодействия исходить из того, что они круглые.
Так — гораздо проще.
Во-вторых. Пусть координаты объектов и радиус будут вещественными числами.
Это придаст плавность движениям и точность всем вычислениям.
А при отрисовке мы будем их округлять.
Итак:
а) Добавь в класс BaseObject приватные поля x (double), y (double), radius (double).
б) Добавь геттеры и сеттеры.
в) Добавь конструктор BaseObject(double x, double y, double radius).
г) Пройдись по все классам-наследникам и поправь у них конструкторы.
Если вы пользуйтесь Intellij IDEA — Alt+Insert вам в помощь.

Требования:
1. В классе BaseObject должно быть создано приватное поле x типа double.
2. В классе BaseObject должно быть создано приватное поле y типа double.
3. В классе BaseObject должно быть создано приватное поле radius типа double.
4. В классе BaseObject должен быть создан корректно работающий конструктор с тремя параметрами типа double (x, y, radius).
5. В классе Ball должен быть создан корректно работающий конструктор с тремя параметрами типа double (x, y, radius).
6. В классе Brick должен быть создан корректно работающий конструктор с тремя параметрами типа double (x, y, radius).
7. В классе Stand должен быть создан корректно работающий конструктор с тремя параметрами типа double (x, y, radius).
8. В классе BaseObject должен быть создан публичный геттер для поля x.
9. В классе BaseObject должен быть создан публичный геттер для поля y.
10. В классе BaseObject должен быть создан публичный геттер для поля radius.
11. В классе BaseObject должен быть создан публичный сеттер для поля x.
12. В классе BaseObject должен быть создан публичный сеттер для поля y.
13. В классе BaseObject должен быть создан публичный сеттер для поля radius.

package com.javarush.task.task24.task2413;

/**
 * Created by Женя on 22.06.2017.
 */
public abstract class BaseObject {
    private double x;
    private double y;
    private double radius;

    abstract void draw(Canvas canvas);

    abstract void move();

    public BaseObject(double x, double y, double radius) {
        this.x = x;
        this.y = y;
        this.radius = radius;
    }

    public double getX() {
        return x;
    }

    public double getY() {
        return y;
    }

    public double getRadius() {
        return radius;
    }

    public void setX(double x) {
        this.x = x;
    }

    public void setY(double y) {
        this.y = y;
    }

    public void setRadius(double radius) {
        this.radius = radius;
    }
}


результат тестирования: В классе BaseObject должен быть создан корректно работающий конструктор с тремя параметрами типа double (x, y, radius).На мой взгляд всё в соответствии с заданием. Подскажите что не так.

task40.task4008 | level40.lesson40.task02 - РЕШЕНО

Не могу пройти валидацию. Одно требование я выполнил, из тех, что не проходили, но ещё два — никак. Уже не знаю, что делать.

Вот условие задачи:

Работа с Java 8 DateTime API
Выполни задание, используя Java 8 DateTime API.
Реализуй метод printDate(String date).
Он должен в качестве параметра принимать дату (в одном из 3х форматов)
и выводить ее в консоль в соответствии с примером:
1) Для «21.4.2014 15:56:45» вывод должен быть:
День: 21
День недели: 1
День месяца: 21
День года: 111
Неделя месяца: 4
Неделя года: 17
Месяц: 4
Год: 2014
AM или PM: PM
Часы: 3
Часы дня: 15
Минуты: 56
Секунды: 45
2) Для «21.4.2014»:
День: 21
День недели: 1
День месяца: 21
День года: 111
Неделя месяца: 4
Неделя года: 17
Месяц: 4
Год: 2014
3) Для «17:33:40»:
AM или PM: PM
Часы: 5
Часы дня: 17
Минуты: 33
Секунды: 40

А вот мой код:

public static void printDate(String date) {
            //напишите тут ваш код
            if (date == null || (date != null && date.isEmpty()))
                return;
            try {
                LocalDate localDate = LocalDate.parse(date,DateTimeFormatter.ofPattern("d.M.u"));
                System.out.println("День: " + localDate.get(ChronoField.DAY_OF_MONTH));
                System.out.println("День недели: " + localDate.getDayOfWeek().getValue());
                System.out.println("День месяца: " + localDate.getDayOfMonth());
                System.out.println("День года: " + localDate.getDayOfYear());
                System.out.println("Неделя месяца:  " + localDate.format(DateTimeFormatter.ofPattern("W")) /*+ " " +  (localDate.get(ChronoField.ALIGNED_WEEK_OF_MONTH) + 1 )*/);
                System.out.println("Неделя года: " + (localDate.get(ChronoField.ALIGNED_WEEK_OF_YEAR) + 1));
                System.out.println("Месяц: " + localDate.getMonthValue());
                System.out.println("Год: " + localDate.getYear());
                return;
            } catch (DateTimeParseException e) {
            }
            try {
                LocalTime localTime = LocalTime.parse(date,DateTimeFormatter.ofPattern("H:m:s"));
                System.out.println("AM или PM: " + ((localTime.get(ChronoField.AMPM_OF_DAY) == 0)? "AM":"PM"));
                System.out.println("Часы: " + localTime.get(ChronoField.HOUR_OF_AMPM));
                System.out.println("Часы дня: " + localTime.get(ChronoField.HOUR_OF_DAY));
                System.out.println("Минуты: " + localTime.getMinute());
                System.out.println("Секунды: " + localTime.getSecond());
                return;
            } catch (DateTimeParseException e) {
            }
            try {
                LocalDateTime dateTime = LocalDateTime.parse(date,DateTimeFormatter.ofPattern("d.M.u H:m:s"));
                System.out.println("День: " + dateTime.get(ChronoField.DAY_OF_MONTH));
                System.out.println("День недели: " + dateTime.getDayOfWeek().getValue());
                System.out.println("День месяца: " + dateTime.getDayOfMonth());
                System.out.println("День года: " + dateTime.getDayOfYear());
                System.out.println("Неделя месяца:  " + dateTime.format(DateTimeFormatter.ofPattern("W")) /*(dateTime.get(ChronoField.ALIGNED_WEEK_OF_MONTH) + 1 )*/);
                System.out.println("Неделя года: " + (dateTime.get(ChronoField.ALIGNED_WEEK_OF_YEAR) + 1));
                System.out.println("Месяц: " + dateTime.getMonthValue());
                System.out.println("Год: " + dateTime.getYear());
                System.out.println("AM или PM: " + ((dateTime.get(ChronoField.AMPM_OF_DAY) == 0)? "AM":"PM"));
                System.out.println("Часы: " + dateTime.get(ChronoField.HOUR_OF_AMPM));
                System.out.println("Часы дня: " + dateTime.get(ChronoField.CLOCK_HOUR_OF_DAY));
                System.out.println("Минуты: " + dateTime.getMinute());
                System.out.println("Секунды: " + dateTime.getSecond());
                return;
            } catch (DateTimeParseException e) {
            }
        }


Не проходят эти требования:
1. Если в метод printDate передана дата в формате «дата время», он должен вывести: День, День недели, День месяца, День года, Неделя месяца, Неделя года, Месяц, Год, AM или PM, Часы, Часы дня, Минуты, Секунды.
2. Если в метод printDate передана дата в формате «дата», он должен вывести: День, День недели, День месяца, День года, Неделя месяца, Неделя года, Месяц, Год.

А эти — проходят:

3. Если в метод printDate передана дата в формате «время», он должен вывести: AM или PM, Часы, Часы дня, Минуты, Секунды.
4. Используй статический метод parse классов LocalDate и LocalTime.


Сам думаю на вывод дня и вывод номера недели (в месяце). Также может быть что-то в выводе номера недели в году. Но это всё работает. Сравнивал с предыдущей задачей, которая прошла.
  • ,

Онлайн-стажировка: летний набор 2017

Набор на летнюю стажировку 2017 года окончен. Начало стажировки — завтра, 06.07.2017

Предположительно, набор на осеннюю стажировку 2017 года начнется в сентябре

Good News, Everyone!
С радостью сообщаем Вам, что сегодня начался очередной набор на онлайн стажировку!

Набором на стажировку буду заниматься я (silent).
javarush.ru/users/717740

У Вас есть уникальная возможность получить опыт в работе с такими технологиями: Git, Spring, Spring MVC, Spring Security, Hibernate, JPA, Junit, JSP, JSTL, ORM, REST, Bootstrap, AJAX и jQuery.
Конечно, за 12 недель слишком глубоко все это не выучить, но, во-первых, Вы сможете указать эти технологии в своем резюме, а во-вторых, очень вероятно, что за эти 12 недель Вы узнаете о программировании больше, чем 5 лет универа. Выбор за Вами.

Записывайтесь, только если сможете уделять обучению 6-8 часов в неделю. Отзывы предыдущих участников можно почитать тут.

Условия участия:
1) Ваш уровень на JavaRush 35 или выше
2) У Вас есть (или была, но закончилась меньше года назад) годовая подписка Internship, Internship+, Mentor или Premium Project. Или у Вас есть активная подписка PREMIUM PRO.
3) Вы выполнили тестовое задание

Если Ваш уровень ниже 35-го, но хотя бы 30+, Вы можете попробовать дойти до 35-го уровня. Набор на онлайн-стажировку будет продолжаться до до 5 июля включительно (до 14:00 по МСК), так что 3 недели у Вас есть.

В новом JavaRush механизм апгрейда подписок не предусмотрен, поэтому если Ваша подписка не предусматривает участие в стажировке, а участвовать Вы хотите, Вам нужно обзавестись подпиской PREMIUM PRO. Если раньше участии в стажировке было возможно лишь с годовой подпиской (Internship, Internship plus и пр.), то сейчас Вы можете оплачивать стажировку помесячно подпиской PREMIUM PRO. Оплату нужно вносить каждый месяц начиная с месяца набора (в данном случае — это июнь) и заканчивая последним месяцем стажировки — сентябрь. Итого выходит 4 месяца оплаты подписки PREMIUM PRO.

Кому будет полезно:
Если в Вашем городе мало крупных компаний, у них высокие требования, или Вы хотите выделиться на фоне других искателей работы и попасть не абы-куда, а сразу в правильное место, то Вам стоит получить практический опыт на онлайн-стажировке.

Онлайн стажировка – это отличный способ получить практический опыт (за Ваши деньги).

Где можно записаться:

Оставьте свои контактные данные в разделе «Стажировка» -> «Отправить заявку». Так же Вам надо прислать ссылку на выполненное тестовое задание. Пример:
Заявка на стажировку

Тестовое задание надо выполнить обязательно. Если Вы не в состоянии справится с тестовым заданием, значит Вам будет не по силам половина заданий онлайн-стажировки. Лучше порешайте задачи на JavaRush – они в разы проще.

Следующая стажировка планируется через 3 месяца – не справились с тестовым заданием в этот раз – значит справитесь в следующий. Лучше хорошо понимать часть материала, чем просто прочитать/просмотреть (но не разобраться) в большом его количестве.

Начиная с прошлого набора на стажировку, Стажировку можно проходить столько раз, сколько Вы хотите. Если вы регистрируетесь на стажировку повторно — тестовое задание отправлять не нужно.

Сроки:
Стажировка длится 12 недель.
Набор открыт до 5 июля включительно (до 14:00 по МСК), старт самой стажировки – 6 июля.
После 5 июля заявки приниматься не будут – будете ждать следующей стажировки (ориентировочно октябрь 2017 года).

Как все будет происходить:
Вы будете писать достаточно большой проект и получите очень разносторонний опыт, который, что логично, поможет Вам и при устройстве на работу и, уж тем более, в первый год работы.

Проект рассчитан на 12 недель (3 месяца). Каждую неделю Вы будете изучать очередную технологию и добавлять очередной кусок функциональности к Вашему проекту.

План обучения и список изучаемых технологий можно посмотреть здесь.

Формат занятий
В начале каждой недели Вы будете получать видеозапись урока (длиной 2-3 часа!), на которой разбирается и объясняется очередная технология, а также дается задание на дом, которое Вы должны сделать за неделю. Задания средней сложности. Если в первый день вы во всем разобрались, то сделайте его за 1-2 дня. Если сразу не поняли, то в неделю должны вложиться.

Правильное решение
Через неделю куратор стажировки выкладывает свое решение, и Вы можете посмотреть/разобрать его, независимо от того, заработало у Вас Ваше решение или нет.
Это очень эффективный подход, т.к. разбирать решения опытных разработчиков может быть на порядок полезнее, чем сделать свое кое-как. Особенно, если Вы только что днями ломали голову, ища способ все сделать хорошо, быстро и красиво.

Поддержка
В слаке будет создана отдельная группа, где Вы и другие участники стажировки в режиме реального времени можете задавать вопросы и получать ответы от руководителя стажировки. Он может давать комментарии по изучаемой технологии, по своему решению и по своему коду. Но не по Вашему коду.

Процесс регистрации на стажировку
(«Стажировка» -> «Отправить заявку») далее скачиваете задание.
Решаете, заполняете все формы, нажимаете «Отправить заявку».
После того, как Вы отправили заявку на стажировку, на карте квестов (https://javarush.ru/quests) статус стажировки будет «Проходится»:
Вы отправили заявку на стажировку
После этого я рассматриваю Вашу заявку.
1. Если у Вас нет подписки, которая дает право проходить стажировку — Вам на e-mail придет письмо об этом.
2. Если у меня будут замечания по Вашему решению — Вам на e-mail придет письмо с моими замечаниями.
3. Если все хорошо — я принимаю Вас на стажировку. Указывайте правильный почтовый адрес, так как Вам на почту придет письмо с дальнейшими инструкциями.

Для тех, кто продолжает пользоваться сайтом JavaRush 1.0, Вы можете подать заявку как через старый сайт, так и через новый (требуемый уровень для участия — 35, а не 30).

Если будут вопросы по тестовому, задавайте в этом топике.

Заявки на стажировку будут рассматриваются 2-3 раза в неделю в зависимости от количества заявок.
  • ,

На JavaRush появился новый квест — Harvard CS50!

Поехали учиться в Гарвард? Или, постойте, никуда ехать-лететь-идти не нужно! И платить за обучение не нужно, просто переходите сюда и учитесь!

CS50

Спешим сообщить, что полный перевод гарвардского курса по основам программирования CS50 завершён и выложен на JavaRush. По ссылке вы найдете структурированные по неделям видеолекции, дополнительные материалы, задания и пояснения к заданиям. Неделя обучения (уровень) состоит из 1-2 видеолекций профессора Малана, дополнительных текстовых материалов (для повторения и расширения услышанного на лекциях), 1-3 практических заданий с пояснением и разбором, а также ссылок на код и учебные ресурсы.

Курс рассчитан в первую очередь на новичков, но он будет интересен и тем, кто уже работает в ИТ.

Что изучают на CS50


  • Основы компьютерных наук и программирования. Системы счисления, работа с командной строкой в Linux, циклы, условные переходы и прочие радости.
  • Концепции алгоритмов и алгоритмичности мышления. Вы узнаете о том, какие задачи можно решать с помощью программирования и каким образом. О бинарном поиске, простом по сути, но очень эффективном и требующем тщательности в реализации, Дэвид Малан расскажет сходу, прямо на нулевой лекции. И попробуйте потом забыть сцену с разрывом телефонного справочника, а вместе с ней — и полученные знания! Вообще, курс охватывает все основные алгоритмы, которые нужно знать и понимать «айтишникам».
  • Концепции абстракции, структуры данных, инкапсуляции, управления памятью. Основы компьютерной безопасности. Процесс разработки ПО и веб-разработка.
  • Основы языка программирования C и визуального языка Scratch. Собственно, все основные примеры и задания студенты делают на языке C.
  • Основы баз данных и SQL.
  • Веб-разработка: основы CSS, HTML, JavaScript и PHP. Естественно, только самые азы.
  • Основы подготовки презентации проектов по программированию.

… Но самое главное, это не то, что учат на CS50 (материалов по теме в интернете полно!), а как учат. Лекции CS50 — одни из самых увлекательных и ярких в истории высшего образования.
  • ,

Не понимаю почему не проходит проверку..ведь ответ показан правильный, условия не нарушены

package com.javarush.task.task11.task1123;

public class Solution {
public static void main(String[] args) throws Exception {
int[] data = new int[]{1, 2, 3, 5, -2, -8, 0, 77, 5, 5};

Pair<Integer, Integer> result = getMinimumAndMaximum(data);

System.out.println(«Minimum is » + result.x);
System.out.println(«Maximum is » + result.y);
}

public static Pair<Integer, Integer> getMinimumAndMaximum(int[] array) {
if (array == null || array.length == 0) {
return new Pair<Integer, Integer>(null, null);
}
else{
//Напишите тут ваше решение
for (int i = array.length — 1; i >= 0; i--) {
for (int j = 0; j < i; j++) {
if (array[j] > array [j+1]){
int num = array[j];
array[j] = array[j+1];
array[j+1] = num;
}
}
}
}
return new Pair<Integer, Integer>(array[0], array[9]);
}

public static class Pair<X, Y> {
public X x;
public Y y;

public Pair(X x, Y y) {
this.x = x;
this.y = y;
}
}

}
  • ,

Update JavaRush

Друзья! Пришло время очередного обновления JavaRush.

JavaRush update

В рамках первого летнего апдейта мы исправили часть ошибок, о которых вы нам писали, и реализовали ряд предложенных вами функций. Вот основные изменения:

  1. На JavaRush появился новый квестHarvard CS50. Многие из вас уже видели переводы видеолекций гарвардского курса по основам программирования CS50 на нашем сайте. Теперь CS50 на русском языке доступен на JavaRush в виде отдельного квеста (с видео, текстовыми лекциями, заданиями, подсказками к заданиям, слайдами из лекций, кодом из лекции и разными дополнительными материалами).
  2. Улучшена светлая тема JavaRush с учётом пожеланий пользователей.
  3. Улучшены и проверены условия или механизм проверки таких задач: task2508, task0316, task3310(10), 2712(09), task3608, task1215, task1531, task0301, task2407, task1605, task3113, task3801, task3707(5), task2209, task1533, task2207, task3913(1), task2025, task1411, task3702(3), task0712, task0507, task1003, task3110(15)
  4. В WebIDE добавлена поддержка светлой темы.
  5. Добавлена возможность переименования файлов в WebIDE.
  6. Исправлено отображение аватарок в старых браузерах.
  7. Улучшены шрифты на сайте.
  8. Восстановлена работоспособность сайта у пользователей с ограниченным доступам к «Вконтакте».
  9. Исправлено открытие файла Solution при выгрузке новой задачи в Плагине JavaRush.
  10. Добавлена поддержка переноса строки в «Диалогах».
  • ,

Помогите почему не проходит??

package com.javarush.task.task08.task0827;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

/*
Работа с датой
*/

public class Solution {
public static void main(String[] args) {

try {
System.out.println(isDateOdd(«JANUARY 1 2020»));
} catch (ParseException e) {
e.printStackTrace();
}
}

public static boolean isDateOdd(String date) throws ParseException {
Date yearStartTime = new Date(1, 0, 1);
SimpleDateFormat format = new SimpleDateFormat(«MMMM d yyyy», Locale.ENGLISH);
Date currentTime = format.parse(date);
long msTimeDistance = currentTime.getTime() — yearStartTime.getTime();
long msDay = 24 * 60 * 60 * 1000;
int dayCount = (int) (msTimeDistance / msDay);
if (dayCount % 2 != 0) {
return true;
} else {
return false;
}
}

}
  • ,

Помогите почему не проходит??

package com.javarush.task.task08.task0827;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

/*
Работа с датой
*/

public class Solution {
public static void main(String[] args) {

try {
System.out.println(isDateOdd(«JANUARY 1 2020»));
} catch (ParseException e) {
e.printStackTrace();
}
}

public static boolean isDateOdd(String date) throws ParseException {
Date yearStartTime = new Date(1, 0, 1);
SimpleDateFormat format = new SimpleDateFormat(«MMMM d yyyy», Locale.ENGLISH);
Date currentTime = format.parse(date);
long msTimeDistance = currentTime.getTime() — yearStartTime.getTime();
long msDay = 24 * 60 * 60 * 1000;
int dayCount = (int) (msTimeDistance / msDay);
if (dayCount % 2 != 0) {
return true;
} else {
return false;
}
}

}

level21.lesson02.task01 обьясните плиз)

/* Определяем адрес сети
1) Даны IP-адрес и маска подсети, необходимо вычислить адрес сети - метод getNetAddress.
Используйте операцию поразрядной конъюнкции (логическое И).
Пример:
IP-адрес:       11000000 10101000 00000001 00000010 (192.168.1.2)
Маска подсети:  11111111 11111111 11111110 00000000 (255.255.254.0)
Адрес сети:     11000000 10101000 00000000 00000000 (192.168.0.0)
2) Реализовать метод print, который выведет в консоль данные в двоичном коде
3) Метод main не участвует в тестировании
*/

ок, с этим понятно. вот шаблон задачи…

public class Solution {
    public static void main(String[] args) {
        byte[] ip = new byte[]{(byte) 192, (byte) 168, 1, 2};
        byte[] mask = new byte[]{(byte) 255, (byte) 255, (byte) 254, 0};
        byte[] netAddress = getNetAddress(ip, mask);
        print(ip);          //11000000 10101000 00000001 00000010
        print(mask);        //11111111 11111111 11111110 00000000
        print(netAddress);  //11000000 10101000 00000000 00000000
    }

    public static byte[] getNetAddress(byte[] ip, byte[] mask) {
        return new byte[4];
    }

    public static void print(byte[] bytes) {
    }
}


я прочитал что в джаве нету беззнаковых типов (ну кроме char). в массив пишем тип байт. у байта значение до 128, то есть уже вместо 255 там получится -64… не совсем понял этот момент…

Удваиваем слова 7 уровень, 9 лекция

ВОПРОС


Парни зачем эта строчка вообще ??? ArrayList result = doubleValues ( list ); эта ссылка result вообще нигде не использовалась!!! вместо этого просто вызываем метод doubleValues( list ); Этот список result вообще не нужен! ЗАЧЕМ?

Условие задачи
1. Введи с клавиатуры 10 слов в список строк.
2. Метод doubleValues должен удваивать слова по принципу a,b,c -> a,a,b,b,c,c.
3. Выведи результат на экран, каждое значение с новой строки
public class Solution {
    public static void main(String[] args) throws Exception {
        // Считать строки с консоли и объявить ArrayList list тут

        ArrayList<String> result = doubleValues(list);

        // Вывести на экран result
    }

    public static ArrayList<String> doubleValues(ArrayList<String> list) {
        //напишите тут ваш код
        return null;
    }
}


Мое решение
public class Solution {
    public static void main(String[] args) throws Exception {
        // Считать строки с консоли и объявить ArrayList list тут

        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        ArrayList <String> list = new ArrayList<>();
        for (int i = 0; i < 2; i++) {
            list.add(reader.readLine());
        }

       ArrayList<String> result = doubleValues(list);
    //    doubleValues(list); <em><u> <u>ПОЧЕМУ НЕЛЬЗА ТАК НАПИСАТЬ ПО ПРОСТОМУ</u></u></em>

        // Вывести на экран result

        for (String s : list) {
            System.out.println(s);
        }
    }

    public static ArrayList<String> doubleValues(ArrayList<String> list) {
        //напишите тут ваш код

        for (int i = 0; i < list.size(); i+=2) {
           list.add(i, list.get(i));
        }


        return list;
    }
}