Основы Java

Теория: Формирование строк в циклах

Еще одно использование циклов — формирование строк. Подобная задача нередко встречается в программировании. Она сводится к обычной агрегации через конкатенацию.

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

App.reverse("Hexlet"); // "telxeH"

Общая идея переворота состоит в следующем — нужно брать символы по очереди с начала строки и соединять их в обратном порядке. Давайте проверим, как это работает:

public static String reverse(String str) {
    var i = 0;
    // Нейтральный элемент для строк — это пустая строка
    var result = "";
    while (i < str.length()) {
        // Соединяем в обратном порядке
        result = str.charAt(i) + result;
        i += 1;
    }

    return result;
}

var name = "Bran";
App.reverse(name); // "narB"
// Проверка нейтрального элемента
App.reverse(""); // ""

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

Рекомендуемые программы