logo

CuriousTab

CuriousTab

Discussion


Home Java Programming Java.lang Class Comments

  • Question
  • What will be the output of the program?
    public class ExamQuestion7 
    {  
        static int j; 
        static void methodA(int i)
        {
            boolean b; 
            do
            { 
                b = i<10 | methodB(4); /* Line 9 */
                b = i<10 || methodB(8);  /* Line 10 */
            }while (!b); 
        } 
        static boolean methodB(int i)
        {
            j += i; 
            return true; 
        } 
        public static void main(String[] args)
        {
            methodA(0); 
            System.out.println( "j = " + j ); 
        } 
    }
    


  • Options
  • A. j = 0
  • B. j = 4
  • C. j = 8
  • D. The code will run with no output

  • Correct Answer
  • j = 4 

    Explanation
    The lines to watch here are lines 9 & 10. Line 9 features the non-shortcut version of the OR operator so both of its operands will be evaluated and therefore methodB(4) is executed.

    However line 10 has the shortcut version of the OR operator and if the 1st of its operands evaluates to true (which in this case is true), then the 2nd operand isn't evaluated, so methodB(8) never gets called.

    The loop is only executed once, b is initialized to false and is assigned true on line 9. Thus j = 4.


    Java.lang Class problems


    Search Results


    • 1. What will be the output of the program?
      String x = new String("xyz");
      String y = "abc";
      x = x + y;
      
      How many String objects have been created?

    • Options
    • A. 2
    • B. 3
    • C. 4
    • D. 5
    • Discuss
    • 2. What will be the output of the program?
      public class Test178 
      { 
          public static void main(String[] args) 
          {
              String s = "foo"; 
              Object o = (Object)s; 
              if (s.equals(o)) 
              { 
                  System.out.print("AAA"); 
              } 
              else 
              {
                  System.out.print("BBB"); 
              } 
              if (o.equals(s)) 
              {
                  System.out.print("CCC"); 
              } 
              else 
              {
                  System.out.print("DDD"); 
              } 
          } 
      }
      

    • Options
    • A. AAACCC
    • B. AAADDD
    • C. BBBCCC
    • D. BBBDDD
    • Discuss
    • 3. What will be the output of the program?
      public class Test138 
      { 
          public static void stringReplace (String text) 
          {
              text = text.replace ('j' , 'c'); /* Line 5 */
          } 
          public static void bufferReplace (StringBuffer text) 
          { 
              text = text.append ("c");  /* Line 9 */
          } 
          public static void main (String args[]) 
          { 
              String textString = new String ("java"); 
              StringBuffer textBuffer = new StringBuffer ("java"); /* Line 14 */
              stringReplace(textString); 
              bufferReplace(textBuffer); 
              System.out.println (textString + textBuffer); 
          } 
      }
      

    • Options
    • A. java
    • B. javac
    • C. javajavac
    • D. Compile error
    • Discuss
    • 4. What will be the output of the program?
      class A 
      { 
          public A(int x){} 
      } 
      class B extends A { } 
      public class test 
      { 
          public static void main (String args []) 
          {
              A a = new B(); 
              System.out.println("complete"); 
          } 
      }
      

    • Options
    • A. It compiles and runs printing nothing
    • B. Compiles but fails at runtime
    • C. Compile Error
    • D. Prints "complete"
    • Discuss
    • 5. Which four can be thrown using the throw statement?

      1. Error
      2. Event
      3. Object
      4. Throwable
      5. Exception
      6. RuntimeException

    • Options
    • A. 1, 2, 3 and 4
    • B. 2, 3, 4 and 5
    • C. 1, 4, 5 and 6
    • D. 2, 4, 5 and 6
    • Discuss
    • 6. What will be the output of the program?
      public class Test 
      { 
          public static void main(String[] args) 
          {
              final StringBuffer a = new StringBuffer(); 
              final StringBuffer b = new StringBuffer(); 
      
              new Thread() 
              { 
                  public void run() 
                  {
                      System.out.print(a.append("A")); 
                      synchronized(b) 
                      { 
                          System.out.print(b.append("B")); 
                      } 
                  } 
              }.start(); 
                  
              new Thread() 
              {
                  public void run() 
                  {
                      System.out.print(b.append("C")); 
                      synchronized(a) 
                      {
                          System.out.print(a.append("D")); 
                      } 
                  } 
              }.start(); 
          } 
      }
      

    • Options
    • A. ACCBAD
    • B. ABBCAD
    • C. CDDACB
    • D. Indeterminate output
    • Discuss
    • 7. What will be the output of the program?
      String a = "newspaper";
      a = a.substring(5,7);
      char b = a.charAt(1);
      a = a + b;
      System.out.println(a);
      

    • Options
    • A. apa
    • B. app
    • C. apea
    • D. apep
    • Discuss
    • 8. What will be the output of the program?
      public class BoolTest 
      {
          public static void main(String [] args) 
          {
              int result = 0;
      
              Boolean b1 = new Boolean("TRUE");
              Boolean b2 = new Boolean("true");
              Boolean b3 = new Boolean("tRuE");
              Boolean b4 = new Boolean("false");
      
              if (b1 == b2)  /* Line 10 */
                  result = 1;
              if (b1.equals(b2) ) /* Line 12 */
                  result = result + 10;
              if (b2 == b4)  /* Line 14 */
                  result = result + 100;
              if (b2.equals(b4) ) /* Line 16 */
                  result = result + 1000;
              if (b2.equals(b3) ) /* Line 18 */
                  result = result + 10000;
      
              System.out.println("result = " + result);
          }
      }
      

    • Options
    • A. 0
    • B. 1
    • C. 10
    • D. 10010
    • Discuss
    • 9. What will be the output of the program?
      String a = "ABCD"; 
      String b = a.toLowerCase(); 
      b.replace('a','d'); 
      b.replace('b','c'); 
      System.out.println(b);
      

    • Options
    • A. abcd
    • B. ABCD
    • C. dccd
    • D. dcba
    • Discuss
    • 10. What will be the output of the program?
      public class SqrtExample 
      {
          public static void main(String [] args) 
          {
              double value = -9.0;
              System.out.println( Math.sqrt(value));
          }
      }
      

    • Options
    • A. 3.0
    • B. -3.0
    • C. NaN
    • D. Compilation fails.
    • Discuss


    Comments

    There are no comments.

Enter a new Comment