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
