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

Discussion

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

public class Snippet76
{
    public static void main(String[] args)
    {
        assert args.length > 0 : "no arguments given";
        System.out.println(args[0]);
    }
}

  • A.An empty line
  • B.Compilation fails.
  • C.An ArrayIndexOutOfBoundsException is thrown.
  • D.An AssertionError with message no arguments given

Answer: D

No arguments follow the class name, so args has length 0 and the assertion fails before the array is touched. That turns what would have been an ArrayIndexOutOfBoundsException into a clear statement of the broken assumption. Note that -ea is a JVM option and is not passed to args.

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

Post your comment

Please log in or register to post a comment.