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

Discussion

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

public class Demo99
{
    public static void main(String[] args)
    {
        assert "abc".indexOf("d") == -1;
        System.out.println("abc".indexOf("c"));
    }
}

  • A.Compilation fails.
  • B.An AssertionError is thrown.
  • C.The program prints 2
  • D.The program prints -1

Answer: C

indexOf reports -1 when the text is absent rather than throwing, so the assertion passes. The second call finds c at the zero-based position 2, which is printed. Treating the -1 sentinel as an index is the classic bug an assertion like this guards against.

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

Post your comment

Please log in or register to post a comment.