Ответ 1
Вы можете использовать Double.isInfinite(double)
Здесь двойной документ
Я делаю простой калькулятор для этой домашней работы, а Java возвращает "Бесконечность" при делении на 0.
Мне нужно отобразить сообщение об ошибке, когда я получу бесконечность. Проблема в том, что я не знаю, как выполнить условие
double result;
result = 4/0;
//if result == infinity then some message - need help with this
Вы можете использовать Double.isInfinite(double)
Здесь двойной документ
В приведенном выше коде
ArithmeticException: / by zero
Вы можете поймать это исключение в блоке try/catch.
Посмотрите, равно ли оно Double.POSITIVE_INFINITY
double result;
result = 4.0 / 0.0;
В классе Double
есть два поля для бесконечности: POSITIVE_INFINITY
и NEGATIVE_INFINITY
, которые вы можете проверить.
Обратите внимание, что целочисленное деление на ноль будет вызывать ArithmeticException
, поэтому ваша строка должна быть 4.0/0
, 4/0.0
или 4.0/0.0
, поскольку 4 и 0 являются целыми числами и, следовательно, приводят к целочисленной математике.
Такие ошибки называются исключениями. Вы можете использовать блок try-catch, чтобы поймать это исключение.
try{
result = 4/0;
}
catch(ArithmeticException e){
System.out.println("You divided by zero");
}
вы можете прочитать об обработке исключений здесь.