Logo
Книга для начинающих
ВходРегистрация
/
Программирование
/
Курс Java
/

Агрегация данных (Строки)

Java: Агрегация данных (Строки)

Агрегация применяется не только к числам, но и к строкам.

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

App.repeat("hexlet", 3); // "hexlethexlethexlet"

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

public static String repeat(String text, int times) {
    // Нейтральный элемент для строк – пустая строка
    var result = "";
    var i = 1;

    while (i <= times) {
        // Каждый раз добавляем строку к результату
        result = result + text;
        i = i + 1;
    }

    return result;
}

Распишем выполнение этого кода по шагам:

// Для вызова repeat("hexlet", 3);
var result = "";
result = result + "hexlet"; // "hexlet"
result = result + "hexlet"; // "hexlethexlet"
result = result + "hexlet"; // "hexlethexlethexlet"

Задание

Реализуйте метод joinNumbersFromRange(), который объединяет все числа из диапазона в строку:

App.joinNumbersFromRange(1, 1); // "1"
App.joinNumbersFromRange(2, 3); // "23"
App.joinNumbersFromRange(5, 10); // "5678910"
Коммерческий опыт и Трудоустройство

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются
/
Программирование
/
Курс Java
/

Агрегация данных (Строки)

Java: Агрегация данных (Строки)

Агрегация применяется не только к числам, но и к строкам.

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

App.repeat("hexlet", 3); // "hexlethexlethexlet"

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

public static String repeat(String text, int times) {
    // Нейтральный элемент для строк – пустая строка
    var result = "";
    var i = 1;

    while (i <= times) {
        // Каждый раз добавляем строку к результату
        result = result + text;
        i = i + 1;
    }

    return result;
}

Распишем выполнение этого кода по шагам:

// Для вызова repeat("hexlet", 3);
var result = "";
result = result + "hexlet"; // "hexlet"
result = result + "hexlet"; // "hexlethexlet"
result = result + "hexlet"; // "hexlethexlethexlet"

Задание

Реализуйте метод joinNumbersFromRange(), который объединяет все числа из диапазона в строку:

App.joinNumbersFromRange(1, 1); // "1"
App.joinNumbersFromRange(2, 3); // "23"
App.joinNumbersFromRange(5, 10); // "5678910"
Коммерческий опыт и Трудоустройство

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются
← ПредыдущийСледующий →
← ПредыдущийСледующий →
← ПредыдущийСледующий →

Ваше упражнение проверяется по этим тестам

import static org.assertj.core.api.Assertions.assertThat;

class Test {
    public static void main(String[] args) {
        assertThat(App.joinNumbersFromRange(2, 2)).isEqualTo("2");
        assertThat(App.joinNumbersFromRange(1, 5)).isEqualTo("12345");
        assertThat(App.joinNumbersFromRange(10, 12)).isEqualTo("101112");
    }
}
← ПредыдущийСледующий →

Решение учителя откроется через:

20:00

waiting_clock
← ПредыдущийСледующий →