/
Letta21
/
HomeWork
Обзор
Документация
Войти
/
Letta21
/
HomeWork
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Calculator.java
26 строк
1 KB
Letta21
upload files
02 дек 2025, 16:20
02 дек 2025, 16:20
20f2fba
Код
Авторство
О чём код?
import java.util.function.*; class Calculator { public static Supplier<Calculator> instance = Calculator::new; public Calculator() { } BinaryOperator<Integer> plus = (x, y) -> x + y; BinaryOperator<Integer> minus = (x, y) -> x - y; BinaryOperator<Integer> multiply = (x, y) -> x * y; BinaryOperator<Integer> devide = (x, y) -> y == 0 ? 0 : x / y; // BinaryOperator<Integer> devide = (x, y) -> x / y; // Изначальный код: BinaryOperator<Integer> devide = (x, y) -> x / y; // Причина ошибки: При делении на 0 в Java выбрасывается исключение ArithmeticException. // В примере из задачи переменная b вычисляется как 1 - 1 = 0. // Затем происходит деление a / b (3 / 0), что приводит к падению программы. // Способ решения: Добавить проверку делителя на 0 с помощью тернарного оператора. // Если y == 0, возвращаем 0 (или Integer.MAX_VALUE, в зависимости от бизнес-логики), иначе делим. UnaryOperator<Integer> pow = x -> x * x; UnaryOperator<Integer> abs = x -> x > 0 ? x : x * -1; Predicate<Integer> isPositive = x -> x > 0; Consumer<Integer> println = System.out::println; }