Machine-translated by Google. Questions are authored in English.
Top

Discussion

What will be the output of the program?

public class Snippet28
{
    public static void main(String... args)
    {
        double d = 0.0 / 0.0;
        System.out.println(d + " " + (d == d));
    }
}

  • A.The program prints 0.0 true
  • B.An ArithmeticException is thrown.
  • C.NaN true
  • D.NaN false

Answer: D

Zero divided by zero in floating point is NaN rather than an error, and NaN is specified to compare unequal to every value including itself. So the value prints as NaN and the identity test is false. Integer division by zero would have thrown instead.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.