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)     
        {       
           int z = 5;      
           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