Java: Предикаты
Вспомним функцию isInfant()
из прошлого урока:
static boolean isInfant(int age) {
return age < 1;
}
isInfant()
— это функция-предикат.
Предикат отвечает на утвердительный вопрос «да» или «нет», возвращая значение типа boolean
.
Предикаты во всех языках принято именовать особым образом для простоты анализа. В Java предикаты как правило начинаются с префикса is
или has
:
isInfant()
— «младенец ли?»hasChildren()
— «есть ли дети?»isEmpty()
— «пустой ли?»hasErrors()
— «есть ли ошибки?»
Функция может считаться предикатом, только если она возвращает boolean
.
Давайте напишем еще одну функцию-предикат. Она принимает строку и проверяет, пустая ли она. Пустой строкой называется строка "" - ее длина равна 0. Как мы помним, для вычисления длины строки str
можно использовать выражение str.length()
:
public static void main(String[] args) {
System.out.println(isEmpty("Sea"));
}
static boolean isEmpty(String str) {
return str.length() == 0;
}
false
Задание
Напишите функцию isNegative()
, которая принимает число и проверяет, является ли оно отрицательным.
App.isNegative(-45); // true
App.isNegative(34); // false
Советы
Нашли ошибку? Есть что добавить? Пулреквесты приветствуются https://github.com/hexlet-basics
Если вы столкнулись с трудностями и не знаете, что делать, задайте вопрос в нашем большом и дружном сообществе