Лекция

Java Syntax Pro Beta
11 уровень , 6 лекция
Открыта
11
Задача
Java Syntax Pro, 11 уровень, 6 лекция
Недоступна
Дефрагментация памяти
Дефрагментация памяти
11
Задача
Java Syntax Pro, 11 уровень, 6 лекция
Недоступна
Расставь правильно этажи
Расставь правильно этажи
11
Задача
Java Syntax Pro, 11 уровень, 6 лекция
Недоступна
Купи 10 батонов
Купи 10 батонов
11
Задача
Java Syntax Pro, 11 уровень, 6 лекция
Недоступна
Ежик и яблоко
Ежик и яблоко

Лучший способ усвоить теорию — разобраться с ней на практике. Если эта тема показалась тебе сложной, советуем порешать дополнительные задания, которые помогут заполнить пробелы. Ну а если нескольких обязательных для решения задач тебе достаточно — смело переходи к следующим лекциям.

11
Задача
Java Syntax Pro, 11 уровень, 6 лекция
Недоступна
Прогноз погоды
Прогноз погоды
11
Задача
Java Syntax Pro, 11 уровень, 6 лекция
Недоступна
Создание материков
Создание материков
11
Задача
Java Syntax Pro, 11 уровень, 6 лекция
Недоступна
Геттер и сеттер в деле
Геттер и сеттер в деле

Вот несколько задач на закрепление материала из предыдущих лекций:

11
Задача
Java Syntax Pro, 11 уровень, 6 лекция
Недоступна
Текущий год
Текущий год
11
Задача
Java Syntax Pro, 11 уровень, 6 лекция
Недоступна
Собираем компьютер
Собираем компьютер
11
Задача
Java Syntax Pro, 11 уровень, 6 лекция
Недоступна
Автопроизводитель
Автопроизводитель
Комментарии (472)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
SERGEY94 Уровень 17
16 июня 2026
Я один такой слишком тупой, что все задачи кажутся максимально сложными?
Vlad Lipski Уровень 18
27 марта 2026
27.03.2026 ур11, л6
Zoldy12 Уровень 13
3 февраля 2026
Поставьте лайк и напишите коммент, чтобы я получил достижение
Anonymous #3466115 Уровень 17
6 февраля 2026
коммент
Grigoryvvv Уровень 17 Expert
16 декабря 2025
17.12.2025 / 11 уровень
C0N5P1RACY Уровень 1
12 декабря 2025
ooOOo спасибо папаша что подарил мне эти - десять задач - черного цвета двадцатого века
Elena Уровень 32
3 декабря 2025
Задача про материки ввела в ступор, ибо зачем оно именно так - непонятно. При такой реализации можно насоздавать 100500 Африк, и у каждой будет своя площадь. Но если абстрагироваться от реальности и решать задачу просто ради задачи - ок
Soda Уровень 19
23 марта 2026
а вы бы как сделали? можно просто сделать переменную площади в каждом классе статичной и дело с концом
Игорь Лупац Уровень 39
3 ноября 2025
Грязный хак 🙂

public class Solution {

    public static void main(String[] args) {
        String[] memory = {"object15", null, null, "object2", null, null, null, "object32", null, "object4"};
        executeDefragmentation(memory);
        System.out.println(Arrays.toString(memory));
    }

    public static void executeDefragmentation(String[] array) {
        int nullsCounter = 0;
        ArrayList<String> strs = new ArrayList<>();
        
        for (int i = 0; i < array.length; i++) {
            if (array[i] == null) {
                nullsCounter++;
            } else {
                strs.add(array[i]);
            }
        }
        
        for (int i = 0; i < nullsCounter; i++) {
            strs.add(null);
        }
        
        array = strs.toArray(array);
    }
}
Anton Pohodin Уровень 27
12 декабря 2025
С помощью олдскульного метода swap это выглядело бы так:

public static void executeDefragmentation(String[] array) {
        //напишите тут ваш код
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array.length - i - 1; j++) {
                if (array[j] == null && (j + 1) < array.length) {
                    String temp = array[j + 1];
                    array[j + 1] = null;
                    array[j] = temp;
                }
            }
        }
    }
А теперь представьте, что это решение можно было бы записать одной строкой(!). Что-то вроде этого:

Arrays.sort(array, Comparator.nullsLast(Comparator.naturalOrder()));
Вот ради этих знаний и стоит учить Java.
Farhad M. Уровень 31
10 января 2026
Вы пришли к такому решению в одну строку уже после прохождения основных блоков курса? Я нахожу такое решение не совсем очевидным. У меня оно вышло гораздо сложнее.
Anton Pohodin Уровень 27
10 января 2026
Поверьте, если у вас будет идти речь о скорости написания кода или важно будет его быстродействие (время выполнения), вы предпочтете именно такой способ решения. К этому решению я пришел после прохождения курса Java 25 SELF.
Saruman71 Уровень 19
1 марта 2026
Решение в одну строку! Это именно то, почему я захожу читать комментарии!
Anton Zorin Уровень 26
25 августа 2025
Была интересна первая задача, во первых, потому что можно написать разные реализации с разным временем выполнения и затратами памяти и интересно было узнать быстрейший метод решения. Во вторых, в одном из способов, из за того что

public static void executeDefragmentation(String[] array) 
не возвращает значение, вспомнил что нельзя использовать

Arrays.copyOf()
, да и вообще было интересно почитать сравнение

System.arraycopy().
8 сентября 2025
почему нельзя использовать?

Arrays.copyOf()
Anton Zorin Уровень 26
9 сентября 2025
Потому что метод void,

Arrays.copyOf()
возвращает новый массив, а

System.arraycopy()
изменяет существующий.
REK.QA Уровень 4
21 июля 2025
В задаче про материки что означает: "Площадь материка нужно указывать при его создании, и она должна быть неизменяемой. Ты можешь использовать любые числа для задания площади материков." В классе каждого материка надо создать переменную площади с её указанием произвольными цифрами, правильно понимаю?
Виталий Уровень 31
24 июля 2025
Не совсем. Переменную площади создаем, но инициализацию производим при вызове метода.
Galitos Уровень 13
20 июля 2025
Я с удовольствием съел эти задачи. Спасибо!