Java Math nextAfter() method with Example
Last Updated :
30 May, 2023
The java.lang.Math.nextAfter() returns the floating-point number adjacent to the first argument in the direction of the second argument. If both arguments are equal then the second argument is returned.
Syntax of nextAfter() method
// 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 the start in the direction of the direction.
Note : If one of the arguments is NaN, Output is NaN
- If both arguments are signed zeros, direction is returned unchanged(as implied by the requirement of returning the second argument if the arguments compare as equal).
- If start is Double.MIN_VALUE or Float.MIN_VALUE and direction has a value such that the result should have a smaller magnitude, then a zero with the same sign as start is returned.
- If start is infinite and direction has a value such that the result should have a smaller magnitude, Double.MAX_VALUE or Float.MAX_VALUE with the same sign as start is returned.
- If start is equal to Double.MAX_VALUE or Float.MAX_VALUE and direction has a value such that the result should have a larger magnitude, an infinity with same sign as start is returned.
Example of Java Math nextAfter() method
Example 1:
To show the working of java.lang.Math.nextAfter() method.
Java
import java.lang.Math;
class GfG {
public static void main(String args[])
{
double a = 0.0 / 0 ;
double b = 12.2 ;
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));
}
}
|
Output
NaN
0.0
2.8E-45
3.4028235E38
1.7976931348623155E308
Example 2:
Java
import java.lang.Math;
class GfG {
public static void main(String args[])
{
double i = 956.4343 ;
double j = 1234.21 ;
System.out.println(Math.nextAfter(i, j));
}
}
|
Share your thoughts in the comments
Please Login to comment...