Home / Java Programming / Flow Control :: Discussion

Discussion :: Flow Control

  1.  

    public void foo( boolean a, boolean b) 
    {     
     if( a )     
     {       
         System.out.println("A"); /* Line 5 */    
     }    
     else if(a && b) /* Line 7 */    
     {      
         System.out.println( "A && B");  
     }    
     else /* Line 11 */  
     {       
       if ( !b )        
       {           
            System.out.println( "notB") ;     
        }          
        else         
        {             
            System.out.println( "ELSE" ) ;      
        }      
       } 
     } 
    

  2. A.

    If a is true and b is true then the output is "A && B"

    B.

    If a is true and b is false then the output is "notB"

    C.

    If a is false and b is true then the output is "ELSE"

    D.

    If a is false and b is false then the output is "ELSE"

    View Answer

    Workspace

    Answer : Option C

    Explanation :

    Option C is correct. The output is "ELSE". Only when a is false do the output lines after 11 get some chance of executing.

    Option A is wrong. The output is "A". When a is true, irrespective of the value of b, only the line 5 output will be executed. The condition at line 7 will never be evaluated (when a is true it will always be trapped by the line 12 condition) therefore the output will never be "A && B".

    Option B is wrong. The output is "A". When a is true, irrespective of the value of b, only the line 5 output will be executed.

    Option D is wrong. The output is "notB".


Be The First To Comment