Home / Java Programming / Assertions :: Discussion

Discussion :: Assertions

  1.  public class Test2

     {

       public static int x;   

       public static int foo(int y)

       {

        return y * 2;

       }

       public static void main(String [] args)

       {

        assert z > 0; /* Line 11 */

        assert z > 2: foo(z); /* Line 12 */

        if ( z 7 )

            assert z > 4; /* Line 14 */

          switch (z)

          {

           case 4: System.out.println("4 ");     

           case 5: System.out.println("5 ");   

           default: assert z 10;

       }

       if ( z 10 )

            assert z > 4: z++; /* Line 22 */   

            System.out.println(z);

       }

    }

    which line is an example of an inappropriate use of assertions?

  2. A.

    Line 11

    B.

    Line 12

    C.

    Line 14

    D.

    Line 22

    View Answer

    Workspace

    Answer : Option D

    Explanation :

    Assert statements should not cause side effects. Line 22 changes the value of z if the assert statement is false.

    Option A is fine; a second expression in an assert statement is not required.

    Option B is fine because it is perfectly acceptable to call a method with the second expression of an assert statement.

    Option C is fine because it is proper to call an assert statement conditionally.

     


Be The First To Comment