logo

CuriousTab

CuriousTab

Discussion


Home Java Programming Exceptions See What Others Are Saying!
  • Question
  • Given that all methods of class FileOutputStream, including close(), throw an IOException, which of these is true?
    import java.io.*;
    public class MyProgram 
    {
        public static void main(String args[])
        {
            FileOutputStream out = null;
            try 
            {
                out = new FileOutputStream("test.txt");
                out.write(122);
            }
            catch(IOException io) 
            {
                System.out.println("IO Error.");
            }
            finally 
            {
                out.close();
            }
        }
    }
    


  • Options
  • A. This program will compile successfully.
  • B. This program fails to compile due to an error at line 4.
  • C. This program fails to compile due to an error at line 6.
  • D. This program fails to compile due to an error at line 18.

  • Correct Answer
  • This program fails to compile due to an error at line 18. 

    Explanation
    Any method (in this case, the main() method) that throws a checked exception (in this case, out.close() ) must be called within a try clause, or the method must declare that it throws the exception. Either main() must declare that it throws an exception, or the call to out.close() in the finally block must fall inside a (in this case nested) try-catch block.

  • More questions

    • 1. Which of the following are legal lines of code?

      1. int w = (int)888.8;
      2. byte x = (byte)1000L;
      3. long y = (byte)100;
      4. byte z = (byte)100L;

    • Options
    • A. 1 and 2
    • B. 2 and 3
    • C. 3 and 4
    • D. All statements are correct.
    • Discuss
    • 2. What will be the output of the program?
      int I = 0;
      label:
          if (I < 2) {
          System.out.print("I is " + I);
          I++;
          continue label;
      }
      

    • Options
    • A. I is 0
    • B. I is 0 I is 1
    • C. Compilation fails.
    • D. None of the above
    • Discuss
    • 3. What will be the output of the program?
      interface Foo141 
      { 
          int k = 0; /* Line 3 */
      } 
      public class Test141 implements Foo141 
      {
          public static void main(String args[]) 
          {
              int i; 
              Test141 test141 = new Test141(); 
              i = test141.k; /* Line 11 */
              i = Test141.k; 
              i = Foo141.k; 
          } 
      }
      

    • Options
    • A. Compilation fails.
    • B. Compiles and runs ok.
    • C. Compiles but throws an Exception at runtime.
    • D. Compiles but throws a RuntimeException at runtime.
    • Discuss
    • 4. What will be the output of the program?
      public class Test 
      {  
          public static void main(String args[]) 
          { 
              int i = 1, j = 0; 
              switch(i) 
              { 
                  case 2: j += 6; 
                  case 4: j += 1; 
                  default: j += 2; 
                  case 0: j += 4; 
              } 
              System.out.println("j = " + j); 
          } 
      }
      

    • Options
    • A. j = 0
    • B. j = 2
    • C. j = 4
    • D. j = 6
    • Discuss
    • 5. What will be the output of the program?
      Float f = new Float("12"); 
      switch (f) 
      {
          case 12: System.out.println("Twelve"); 
          case 0: System.out.println("Zero"); 
          default: System.out.println("Default"); 
      }
      

    • Options
    • A. Zero
    • B. Twelve
    • C. Default
    • D. Compilation fails
    • Discuss
    • 6. What will be the output of the program?
      for (int i = 0; i < 4; i += 2) 
      { 
          System.out.print(i + " "); 
      } 
      System.out.println(i); /* Line 5 */
      

    • Options
    • A. 0 2 4
    • B. 0 2 4 5
    • C. 0 1 2 3 4
    • D. Compilation fails.
    • Discuss
    • 7. What will be the output of the program?
      import java.util.*; 
      class I 
      {
          public static void main (String[] args) 
          {
              Object i = new ArrayList().iterator(); 
              System.out.print((i instanceof List)+","); 
              System.out.print((i instanceof Iterator)+","); 
              System.out.print(i instanceof ListIterator); 
          } 
      }
      

    • Options
    • A. Prints: false, false, false
    • B. Prints: false, false, true
    • C. Prints: false, true, false
    • D. Prints: false, true, true
    • Discuss
    • 8. What will be the output of the program?
      public class CommandArgs 
      {
          public static void main(String [] args) 
          {
              String s1 = args[1];
              String s2 = args[2];
              String s3 = args[3];
              String s4 = args[4];
              System.out.print(" args[2] = " + s2);
          }
      }
      
      and the command-line invocation is

      > java CommandArgs 1 2 3 4


    • Options
    • A. args[2] = 2
    • B. args[2] = 3
    • C. args[2] = null
    • D. An exception is thrown at runtime.
    • Discuss
    • 9. 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
    • 10. 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


    Comments

    There are no comments.

Enter a new Comment