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

Discussion

What will be the output of the program?

public class Sketch79
{
    private static void report()
    {
        System.out.println(Math.max(Integer.MIN_VALUE, Integer.MIN_VALUE + 1));
    }

    public static void main(String[] args)
    {
        report();
    }
}

  • A.An ArithmeticException is thrown.
  • B.The program prints -2147483648
  • C.The program prints -2147483647
  • D.The program prints 2147483647

Answer: C

Adding one to the smallest int stays inside the range and gives -2147483647, which is the larger of the two, so max returns it. No overflow occurs here because the addition moves toward zero. Only crossing an endpoint wraps.

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

Post your comment

Please log in or register to post a comment.