Рубрики

Метод Java Math nextAfter () с примером

Java.lang.Math.nextAfter () возвращает число с плавающей точкой, смежное с первым аргументом в направлении второго аргумента. Если оба аргумента равны, то возвращается второй аргумент.

Syntax :
// datatype can be float or double.
public static dataType nextAfter(dataType st, dataType dir)

Parameter :
st :starting floating-point value.
dir :value indicating which of start’s neighbors or start should be returned.

Return :
This method returns the floating-point number adjacent to start in the direction of direction.

Замечания :

  • Если один из аргументов равен NaN , вывод равен NaN
  • Если оба аргумента являются знаковыми нулями , направление возвращается без изменений (что подразумевается требованием возврата второго аргумента, если аргументы сравниваются как равные).
  • Если start является Double.MIN_VALUE или Float.MIN_VALUE и direction имеет значение, такое, что результат должен иметь меньшую величину, тогда возвращается ноль с тем же знаком, что и start.
  • Если start бесконечен, а direction имеет значение, такое, что результат должен иметь меньшую величину, возвращается Double.MAX_VALUE или Float.MAX_VALUE с тем же знаком, что и start.
  • Если начало равно Double.MAX_VALUE или Float.MAX_VALUE, а направление имеет значение, такое, что результат должен иметь большую величину, возвращается бесконечность с тем же знаком, что и начало.

Пример 1: показать работу метода java.lang.Math.nextAfter () .

// Java-программа для демонстрации работы
// метода java.lang.Math.nextAfter ()

import java.lang.Math;

  

class GfG {

  

    // код драйвера

    public static void main(String args[])

    {

        double a = 0.0 / 0;

        double b = 12.2;

  

        // Ввод a NaN, выход NaN

        System.out.println(Math.nextAfter(a, b));

  

        double c = 0.0;

        double d = 0.0;

  

        // оба входа имеют нулевые знаки, выходные ноль

        System.out.println(Math.nextAfter(c, d));

  

        float e = Float.MIN_VALUE;

        float f = 12.2f;

  

        System.out.println(Math.nextAfter(e, f));

  

        float g = 1.0f / 0f;

        float h = 1.0f;

  

        System.out.println(Math.nextAfter(g, h));

  

        double i = Double.MAX_VALUE;

        double j = 12344.2;

  

        System.out.println(Math.nextAfter(i, j));

    }

}

Выход:

NaN
0.0
2.8E-45
3.4028235E38
1.7976931348623155E308

Рекомендуемые посты:

Метод Java Math nextAfter () с примером

0.00 (0%) 0 votes