Валидатор пишет:
Первый пункт принял.
Второй:
Убедись, что метод divide(double, double) выводит в консоли Double.POSITIVE_INFINITY, если а равно Double.NEGATIVE_INFINITY и b < 0.
Третий:
Убедись, что метод divide(double, double) выводит в консоли Double.NEGATIVE_INFINITY, если а равно Double.NEGATIVE_INFINITY и b >= 0.
Четвертый:
Убедись, что метод divide(double, double) выводит в консоли Double.NaN, если a равно Double.POSITIVE_INFINITY и b равно Double.POSITIVE_INFINITY.
package com.javarush.task.pro.task12.task1205;
/*
Метод деления
*/
public class Solution {
public static void main(String[] args) {
divide(1, 0);
divide(-1, 0);
divide(0, 0);
divide(100, 20);
divide(200, 20);
}
public static void divide(double a, double b) {
if ((a > 0 && b == 0) |
(a == Double.POSITIVE_INFINITY && b >= 0) |
(a == Double.NEGATIVE_INFINITY && b < 0)) {
System.out.println(Double.POSITIVE_INFINITY);
}
if ((a < 0 && b == 0) |
(a == Double.NEGATIVE_INFINITY && b >= 0) |
(a == Double.POSITIVE_INFINITY && b < 0)) {
System.out.println(Double.NEGATIVE_INFINITY);
}
if ((a == 0 && b == 0) |
(Double.isNaN(a) | Double.isNaN(b)) |
(a == Double.POSITIVE_INFINITY && b == Double.POSITIVE_INFINITY) |
(a == Double.POSITIVE_INFINITY && b == Double.NEGATIVE_INFINITY) |
(a == Double.NEGATIVE_INFINITY && b == Double.POSITIVE_INFINITY) |
(a == Double.NEGATIVE_INFINITY && b == Double.NEGATIVE_INFINITY)) {
System.out.println(Double.NaN);
} else {
System.out.println(a / b);
}
}
}