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

Discussion

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

public class Program56
{
    public static void main(String[] args)
    {
        int day = 8;
        switch (day)
        {
            case 1:
                System.out.println("Mon");
                break;
            default:
                assert false : "bad day " + day;
        }
        System.out.println("end");
    }
}

  • A.Mon
  • B.Compilation fails.
  • C.The program prints end
  • D.An AssertionError with message bad day 8

Answer: D

day is 8, so no case label matches and control falls to default, where the assertion fails and throws with the concatenated message. end is never printed. Asserting false in an unreachable default branch is a common way to state that a switch is meant to be exhaustive.

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

Post your comment

Please log in or register to post a comment.