logo

CuriousTab

CuriousTab

Discussion


Home Java Programming Threads See What Others Are Saying!
  • Question
  • What will be the output of the program?
    class s1 implements Runnable 
    { 
        int x = 0, y = 0; 
        int addX() {x++; return x;} 
        int addY() {y++; return y;} 
        public void run() { 
        for(int i = 0; i < 10; i++) 
            System.out.println(addX() + " " + addY()); 
    } 
        public static void main(String args[]) 
        { 
            s1 run1 = new s1(); 
            s1 run2 = new s1(); 
            Thread t1 = new Thread(run1); 
            Thread t2 = new Thread(run2); 
            t1.start(); 
            t2.start(); 
        } 
    }


  • Options
  • A. Compile time Error: There is no start() method
  • B. Will print in this order: 1 1 2 2 3 3 4 4 5 5...
  • C. Will print but not exactly in an order (e.g: 1 1 2 2 1 1 3 3...)
  • D. Will print in this order: 1 2 3 4 5 6... 1 2 3 4 5 6...

  • Correct Answer
  • Will print but not exactly in an order (e.g: 1 1 2 2 1 1 3 3...

    Explanation
    Both threads are operating on different sets of instance variables. If you modify the code of the run() method to print the thread name it will help to clarify the output:

    More questions

    • 1. Which two statements are equivalent?

      1. 16*4
      2. 16>>2
      3. 16/2^2
      4. 16>>>2

    • Options
    • A. 1 and 2
    • B. 2 and 4
    • C. 3 and 4
    • D. 1 and 3
    • Discuss
    • 2. What two statements are true about properly overridden hashCode() and equals() methods?

      1. hashCode() doesn't have to be overridden if equals() is.
      2. equals() doesn't have to be overridden if hashCode() is.
      3. hashCode() can always return the same value, regardless of the object that invoked it.
      4. equals() can be true even if it's comparing different objects.

    • Options
    • A. 1 and 2
    • B. 2 and 3
    • C. 3 and 4
    • D. 1 and 3
    • Discuss
    • 3. Which is a valid keyword in java?

    • Options
    • A. interface
    • B. string
    • C. Float
    • D. unsigned
    • Discuss
    • 4. What will be the output of the program?
      int i = 1, j = 10; 
      do 
      {
          if(i++ > --j) /* Line 4 */
          {
              continue; 
          } 
      } while (i < 5); 
      System.out.println("i = " + i + "and j = " + j); /* Line 9 */
      

    • Options
    • A. i = 6 and j = 5
    • B. i = 5 and j = 5
    • C. i = 6 and j = 6
    • D. i = 5 and j = 6
    • Discuss
    • 5. What will be the output of the program?
      int i = 0; 
      while(1) 
      {
          if(i == 4) 
          {
              break;
          } 
          ++i; 
      } 
      System.out.println("i = " + i);
      

    • Options
    • A. i = 0
    • B. i = 3
    • C. i = 4
    • D. Compilation fails.
    • Discuss
    • 6. What will be the output of the program?
      public class Test 
      {
          public int aMethod()
          {
              static int i = 0;
              i++;
              return i;
          }
          public static void main(String args[])
          {
              Test test = new Test();
              test.aMethod();
              int j = test.aMethod();
              System.out.println(j);
          }
      }
      

    • Options
    • A. 0
    • B. 1
    • C. 2
    • D. Compilation fails.
    • Discuss
    • 7. What will be the output of the program?
      int x = l, y = 6; 
      while (y--) 
      {
          x++; 
      } 
      System.out.println("x = " + x +" y = " + y);
      

    • Options
    • A. x = 6 y = 0
    • B. x = 7 y = 0
    • C. x = 6 y = -1
    • D. Compilation fails.
    • Discuss
    • 8. What will be the output of the program?
      class MyThread extends Thread 
      { 
          MyThread() {} 
          MyThread(Runnable r) {super(r); } 
          public void run() 
          { 
              System.out.print("Inside Thread ");
          } 
      } 
      class MyRunnable implements Runnable 
      { 
          public void run() 
          { 
              System.out.print(" Inside Runnable"); 
          } 
      } 
      class Test 
      {  
          public static void main(String[] args) 
          { 
              new MyThread().start(); 
              new MyThread(new MyRunnable()).start(); 
          } 
      }
      

    • Options
    • A. Prints "Inside Thread Inside Thread"
    • B. Prints "Inside Thread Inside Runnable"
    • C. Does not compile
    • D. Throws exception at runtime
    • Discuss
    • 9. Which statement is true?

    • Options
    • A. Assertions can be enabled or disabled on a class-by-class basis.
    • B. Conditional compilation is used to allow tested classes to run at full speed.
    • C. Assertions are appropriate for checking the validity of arguments in a method.
    • D. The programmer can choose to execute a return statement or to throw an exception if an assertion fails.
    • Discuss
    • 10. What will be the output of the program?
      class Two 
      {
          byte x;
      }
      
      class PassO 
      {
          public static void main(String [] args) 
          {
              PassO p = new PassO();
              p.start();
          }
      
          void start() 
          {
              Two t = new Two();
              System.out.print(t.x + " ");
              Two t2 = fix(t);
              System.out.println(t.x + " " + t2.x);
          }
      
          Two fix(Two tt) 
          {
              tt.x = 42;
              return tt;
          }
      }
      

    • Options
    • A. null null 42
    • B. 0 0 42
    • C. 0 42 42
    • D. 0 0 0
    • Discuss


    Comments

    There are no comments.

Enter a new Comment