JavaRush /Курсы /Java Collections /Задачи | 2 уровень | 4 лекция

Задачи | 2 уровень | 4 лекция

Java Collections
2 уровень , 4 лекция
Открыта
14
Задача
Java Collections, 2 уровень, 4 лекция
Недоступна
Читаем из потока
Читаем из потока
14
Задача
Java Collections, 2 уровень, 4 лекция
Недоступна
Пишем стек-трейс
Пишем стек-трейс
14
Задача
Java Collections, 2 уровень, 4 лекция
Недоступна
Шифр Цезаря
Шифр Цезаря
Комментарии (53)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Евгений Уровень 51
30 октября 2024
У второй задачи элегантное решение, если не забывать, как работают ссылки. Собственно я забыл поэтому так:

StringWriter sw = new StringWriter();
PrintWriter sr = new PrintWriter(sw) {
    @Override
    public String toString() {
        return out.toString();
    }
};
Kit Leskinen Уровень 1
5 февраля 2023
В задаче Шифр Цезаря условие "Возвращаемый объект ни при каких условиях не должен быть null." относится к StringReader reader, которое в строке:

public static String decode(StringReader reader, int key) throws IOException {
а не к возвращаемому значению decode
AhanSere Уровень 1
10 ноября 2023
Спасибо!
Bingo Boom Уровень 30
2 января 2023
Задачи решил, но так и не понял, зачем эти классы нужны
Виктор Уровень 1
7 ноября 2022
решая последнюю задачу интереснее всего было узнать, как её решат на JR. Оказалось, что так же... Интересно, если ли еще какие-то способы? ну например, что бы сдвинуть сразу все символы или что-то вроде того.
Евгений N Уровень 23
4 апреля 2024
"сдвинуть все символы" - тоже было интересно, но 😣 сам же скопировал первую задачку, добавил

for (int i = 0; i < n; i++) {  buffer[i] =  (char) ( (int)buffer[i] + key);        }
к счастью валидатор принял решение не через билдер, а return writer.toString();
Lipovskyi Volodymyr Уровень 36
18 августа 2022
Остання задачка мені дуже сподобалась - дякую автору!
Max Zap Уровень 41
21 октября 2021
В первой задаче: "Возвращаемый объект ни при каких условиях не должен быть null." следует понимать как "принимаемый параметр".
Andrey Karelin Уровень 41
21 апреля 2022
очередной пример, что условия пишутся "на от%бись"(
Виктор Уровень 1
7 ноября 2022
нет, ну почему же. Вот принимаемый параметр как-раз таки и может быть null. А вот возвращаемый параметр уже не должен быть. Но насчет правильности такого подхода, конечно, можно и поспорить: тебе на вход дают хрень, а метод такой: да вот, пожалуйста вот такой ответ.
23 сентября 2021
Пока пропущу , еще немного и конец аж жалко .
Gleb Уровень 48
1 апреля 2021
В задачах "Читаем из потока" и "Шифр Цезаря" неверно работает валидатор: код не проходит проверку на возврат null, даже когда метод точно возвращает не null
8 апреля 2021
Добавь перехват исключений и проигнорь их, тогда метод не будет возвращать null при любой ситуации. Проверка на валидаторе тоже пройдет.
Anton Solovev Уровень 26
6 ноября 2021
игнорить исключения - это грех )
Pig Man Уровень 41
3 февраля 2021
Неправильный вариант решения 2 задачи, но ведь было красиво:

    public static String getStackTrace(Throwable throwable) {
        PrintStream oldErr = System.err;
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        PrintStream newErr = new PrintStream(byteArrayOutputStream);

        System.setErr(newErr);
        throwable.printStackTrace();
        System.setErr(oldErr);

        return byteArrayOutputStream.toString();
    }
Но валидатор потребовал использовать StringWriter, хотя нужно отдать должное, с пунктом о том, что я все-таки возвращаю стек-трейс в виде строки, он был согласен
Slaby Уровень 35
13 марта 2021
А я сделал массив StackTraceElement[], прошелся по нему стримом, но валидатор меня завернул.
Николай Уровень 41
20 ноября 2020
Действительно интересные и несложные задачки. Я считаю таких задач должно быть больше!