Java: Циклы и условия
Циклы и условия — ключевые инструменты в программировании. Поэтому стоит рассмотреть еще несколько примеров.
Пример 1: Запуск цикла при условии
Задача: написать функцию shouter()
, которая принимает строку и, если в строке больше 5 символов, выводит её на экран 100 раз. Если в строке 5 символов или меньше, то функция ничего не делает.
Начнём писать функцию:
static void shouter(String str) {
}
Как вы наверное догадались, чтобы вывести строку 100 раз на экран, понадобится цикл. Но это нужно только в случае, если строка больше 5 букв.
Значит, нужно начать с создания условия:
static void shouter(String str) {
var length = str.length();
if (length > 5) {
}
}
Внутри фигурных { }
скобок после if
будет код, который исполнится только при условии length > 5
. Здесь будет цикл для повторения 100 раз.
Напомним стратегию для создания подобных циклов:
- Создать счётчик и задать ему начальное значение.
- Сделать цикл, который будет повторяться, пока счётчик не дошёл до какого-то конечного значения.
- В теле цикла выполнять нужное действие (в нашем случае — вывод на экран) и обновлять счётчик.
Нам нужно 100 повторений, поэтому сделаем счётчик со значением 0 и будем увеличивать его на 1 каждый шаг, и так до тех пор, пока счётчик не станет равным 100.
static void shouter(String str) {
var length = str.length();
if (length > 5) {
var counter = 0;
while (counter != 100) {
System.out.print(str);
counter += 1;
}
}
}
counter += 1
- это увеличение счётчика на 1.
Запустим:
shouter("HELLO!");
HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!HELLO!
А теперь давайте модифицируем функцию так, чтобы она возвращала результат, а не выводила его на экран. Воспользуемся тем же приёмом, что был в функции для переворота строки: создадим пустую строку result
и будем её наполнять в цикле, а потом вернём из функции.
static String shouter(String str) {
var length = str.length();
var result = "";
if (length > 5) {
var counter = 0;
while (counter != 100) {
result += str;
counter += 1;
}
}
return result;
}
Задание
Модифицируйте последний вариант функции shouter()
, добавив такие условия:
- Если длина строки больше 0 и меньше 5, то вернуть оригинальную строку без повторений.
- Если длина строки ровно 5 символов, то вернуть строку, повторенную 10 раз.
Условие «если длина больше 5, то вернуть строку, повторенную 100 раз» должно сохраниться.