Бесплатный курс по java. Зарегистрируйтесь для отслеживания прогресса →

Java: Обход строк

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

public static void printNameBySymbol(String name) {
    var i = 0;
    // Такая проверка будет выполняться до конца строки
    // включая последний символ. Его индекс `length() - 1`.
    while (i < name.length()) {
        // Обращаемся к символу по индексу
        System.out.println(name.charAt(i));
        i = i + 1;
    }
}

var name = "Arya";
App.printNameBySymbol(name);
// 'A'
// 'r'
// 'y'
// 'a'

Самое главное в этом коде, поставить правильное условие в while. Это можно сделать сразу двумя способами: i < name.length или i <= name.length - 1. Оба способа приводят к одному результату.

Задание

Реализуйте статический метод App.printReversedNameBySymbol(), который печатает переданное слово посимвольно, как в примере из теории, но делает это в обратном порядке.

var name = 'Arya';
App.printReversedNameBySymbol(name);
// 'a'
// 'y'
// 'r'
// 'A'

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются https://github.com/hexlet-basics
Если вы столкнулись с трудностями и не знаете, что делать, задайте вопрос в нашем большом и дружном сообществе