logo

CuriousTab

CuriousTab

Discussion


Home Java Programming Java.lang Class Comments

  • Question
  • 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

  • Correct Answer
  • javajavac 

    Explanation
    A string is immutable, it cannot be changed, that's the reason for the StringBuffer class. The stringReplace method does not change the string declared on line 14, so this remains set to "java".

    Method parameters are always passed by value - a copy is passed into the method - if the copy changes, the original remains intact, line 5 changes the reference i.e. text points to a new String object, however this is lost when the method completes. The textBuffer is a StringBuffer so it can be changed.

    This change is carried out on line 9, so "java" becomes "javac", the text reference on line 9 remains unchanged. This gives us the output of "javajavac"


    Java.lang Class problems


    Search Results


    • 1. 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
    • 2. 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
    • 3. At Point X on line 5, which code is necessary to make the code compile?
      public class ExceptionTest 
      { 
          class TestException extends Exception {} 
          public void runTest() throws TestException {} 
          public void test() /* Point X */ 
          { 
              runTest(); 
          } 
      }
      

    • Options
    • A. No code is necessary.
    • B. throws Exception
    • C. catch ( Exception e )
    • D. throws RuntimeException
    • Discuss
    • 4. Which answer most closely indicates the behavior of the program?
      public class MyProgram 
      {
          public static void throwit() 
          {
              throw new RuntimeException();
          }
          public static void main(String args[])
          {
              try 
              {
                  System.out.println("Hello world ");
                  throwit();
                  System.out.println("Done with try block ");
              }
              finally 
              {
                  System.out.println("Finally executing ");
              }
          }
      }
      

    • Options
    • A. The program will not compile.
    • B. The program will print Hello world, then will print that a RuntimeException has occurred, then will print Done with try block, and then will print Finally executing.
    • C. The program will print Hello world, then will print that a RuntimeException has occurred, and then will print Finally executing.
    • D. The program will print Hello world, then will print Finally executing, then will print that a RuntimeException has occurred.
    • Discuss
    • 5. Which statement is true?

    • Options
    • A. catch(X x) can catch subclasses of X where X is a subclass of Exception.
    • B. The Error class is a RuntimeException.
    • C. Any statement that can throw an Error must be enclosed in a try block.
    • D. Any statement that can throw an Exception must be enclosed in a try block.
    • Discuss
    • 6. 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
    • 7. 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
    • 8. 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
    • Discuss
    • 9. 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
    • 10. 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


    Comments

    There are no comments.

Enter a new Comment