logo

CuriousTab

CuriousTab

Discussion


Home Java Programming Threads See What Others Are Saying!
  • Question
  • What will be the output of the program?
    class Happy extends Thread 
    { 
        final StringBuffer sb1 = new StringBuffer(); 
        final StringBuffer sb2 = new StringBuffer(); 
    
        public static void main(String args[]) 
        { 
            final Happy h = new Happy(); 
    
            new Thread() 
            { 
                public void run() 
                { 
                    synchronized(this) 
                    { 
                        h.sb1.append("A"); 
                        h.sb2.append("B"); 
                        System.out.println(h.sb1); 
                        System.out.println(h.sb2); 
                    } 
                } 
            }.start(); 
    
            new Thread() 
            { 
                public void run() 
                { 
                    synchronized(this) 
                    { 
                        h.sb1.append("D"); 
                        h.sb2.append("C"); 
                        System.out.println(h.sb2); 
                        System.out.println(h.sb1); 
                    } 
                } 
            }.start(); 
        } 
    }
    


  • Options
  • A. ABBCAD
  • B. ABCBCAD
  • C. CDADACB
  • D. Output determined by the underlying platform.

  • Correct Answer
  • Output determined by the underlying platform. 

    Explanation
    Can you guarantee the order in which threads are going to run? No you can't. So how do you know what the output will be? The output cannot be determined.

    More questions

    • 1. What will be the output of the program?
      int i = (int) Math.random();
      

    • Options
    • A. i = 0
    • B. i = 1
    • C. value of i is undetermined
    • D. Statement causes a compile error
    • Discuss
    • 2. What will be the output of the program?
      class Tree { } 
      class Pine extends Tree { } 
      class Oak extends Tree { } 
      public class Forest1 
      { 
          public static void main (String [] args)
          { 
              Tree tree = new Pine(); 
              if( tree instanceof Pine ) 
                  System.out.println ("Pine"); 
              else if( tree instanceof Tree ) 
                  System.out.println ("Tree"); 
              else if( tree instanceof Oak ) 
                  System.out.println ( "Oak" ); 
              else 
                  System.out.println ("Oops "); 
          } 
      }
      

    • Options
    • A. Pine
    • B. Tree
    • C. Forest
    • D. Oops
    • Discuss
    • 3. What will be the output of the program?
      public class StringRef 
      {
          public static void main(String [] args) 
          {
              String s1 = "abc";
              String s2 = "def";
              String s3 = s2;   /* Line 7 */
              s2 = "ghi";
              System.out.println(s1 + s2 + s3);
          }
      }
      

    • Options
    • A. abcdefghi
    • B. abcdefdef
    • C. abcghidef
    • D. abcghighi
    • Discuss
    • 4. What will be the output of the program?
      public class ObjComp 
      {
          public static void main(String [] args ) 
          {
              int result = 0;
              ObjComp oc = new ObjComp();
              Object o = oc;
      
              if (o == oc)  
                  result = 1;
              if (o != oc)  
                  result = result + 10;
              if (o.equals(oc) )  
                  result = result + 100;
              if (oc.equals(o) )  
                  result = result + 1000;
      
              System.out.println("result = " + result);
          }
      }
      

    • Options
    • A. 1
    • B. 10
    • C. 101
    • D. 1101
    • Discuss
    • 5. What will be the output of the program?
      String d = "bookkeeper";
      d.substring(1,7);
      d = "w" + d;
      d.append("woo");  /* Line 4 */
      System.out.println(d);
      

    • Options
    • A. wookkeewoo
    • B. wbookkeeper
    • C. wbookkeewoo
    • D. Compilation fails.
    • Discuss
    • 6. What will be the output of the program?
      interface Count 
      {
          short counter = 0;
          void countUp();
      }
      public class TestCount implements Count 
      {
          public static void main(String [] args) 
          {
              TestCount t = new TestCount();
              t.countUp();
          }
          public void countUp() 
          {
              for (int x = 6; x>counter; x--, ++counter) /* Line 14 */
              {
                  System.out.print(" " + counter);
              }
          }
      }
      

    • Options
    • A. 0 1 2
    • B. 1 2 3
    • C. 0 1 2 3
    • D. 1 2 3 4
    • E. Compilation fails
    • Discuss
    • 7. Which three form part of correct array declarations?

      1. public int a [ ]
      2. static int [ ] a
      3. public [ ] int a
      4. private int a [3]
      5. private int [3] a [ ]
      6. public final int [ ] a

    • Options
    • A. 1, 3, 4
    • B. 2, 4, 5
    • C. 1, 2, 6
    • D. 2, 5, 6
    • Discuss
    • 8. What will be the output of the program?
      public class X 
      { 
          public static void main(String [] args) 
          {
              try 
              {
                  badMethod();  
                  System.out.print("A"); 
              }  
              catch (Exception ex) 
              {
                  System.out.print("B"); 
              }  
              finally 
              {
                  System.out.print("C"); 
              }  
              System.out.print("D"); 
          }  
          public static void badMethod() {} 
      } 
      

    • Options
    • A. AC
    • B. BC
    • C. ACD
    • D. ABCD
    • Discuss
    • 9. Which of the following line of code is suitable to start a thread?
      class X implements Runnable 
      { 
          public static void main(String args[]) 
          {
              /* Missing code? */
          } 
          public void run() {} 
      }
      

    • Options
    • A. Thread t = new Thread(X);
    • B. Thread t = new Thread(X); t.start();
    • C. X run = new X(); Thread t = new Thread(run); t.start();
    • D. Thread t = new Thread(); x.run();
    • Discuss
    • 10. What will be the output of the program?
      try 
      {
          Float f1 = new Float("3.0");
          int x = f1.intValue();
          byte b = f1.byteValue();
          double d = f1.doubleValue();
          System.out.println(x + b + d);
      }
      catch (NumberFormatException e) /* Line 9 */
      {
          System.out.println("bad number"); /* Line 11 */
      }
      

    • Options
    • A. 9.0
    • B. bad number
    • C. Compilation fails on line 9.
    • D. Compilation fails on line 11.
    • Discuss


    Comments

    There are no comments.

Enter a new Comment