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

Discussion

The program is run with java Probe02 - what will be the output?

public class Probe02
{
    public static void main(String[] args)
    {
        int[] a = new int[3];
        assert a.length == 5;
        System.out.println(a.length);
    }
}

  • A.An AssertionError is thrown at runtime.
  • B.The program prints 3
  • C.The program prints 5
  • D.Compilation fails.

Answer: B

Without -ea the assertion is skipped entirely, so the clearly false claim that the array has five elements costs nothing. The print then reports the real length, 3. This is exactly why an assertion must never be the only thing checking a condition you actually rely on.

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

Post your comment

Please log in or register to post a comment.