Java Programming: Exceptions, Collections, and Threading

Test your knowledge of advanced Java programming concepts including exception handling hierarchies, collections framework (HashSet, TreeMap, LinkedList), array operations, and multithreading (start vs run, sleep, yield).

20 Questions Published

Questions

Question 1 Multiple Choice (Single Answer)

Which interface does TreeMap class implement ?

  1. Set
  2. SortedSet
  3. List
  4. Tree
  5. SortedMap
Question 2 Multiple Choice (Single Answer)

Which statement is true for the following code? public class Rpcraven { public static void main(String argv[]){ Pmcraven pm1 = new Pmcraven("one"); pm1.run(); Pmcraven pm2 = new Pmcraven("two"); pm2.run(); } } class Pmcraven extends Thread { private String sTname=""; Pmcraven(String s) { sTname = s; } public void run(){ for(int i =0; i < 2 ; i++){ try { sleep(1000); }catch(InterruptedException e){ } yield(); System.out.println(sTname); } } }

  1. Compile time error, class Rpcraven does not import java.lang.Thread
  2. Output of One One Two Two
  3. Output of One Two One Two
  4. Output of One Two Two One
Question 3 Multiple Choice (Single Answer)

What will happen when you attempt to compile and run the following code? public class Bground extends Thread{ public static void main(String argv[]){ Bground b = new Bground(); b.run(); } public void start(){ for (int i = 0; i <10; i++){ System.out.println("Value of i = " + i); } } }

  1. A compile time error indicating that no run method is defined for the Thread class.
  2. A run time error indicating that no run method is defined for the Thread class.
  3. Clean compile and at run time the values 0 to 9 are printed out.
  4. Clean compile but no output at runtime.
Question 4 Multiple Choice (Single Answer)

What will be the output of the following program? package scjp.threadTest; public class Ques01 { public static void main(String[] args) { HelloThread hello = new HelloThread(); hello.start(); } } class MyThread implements Runnable{ @Override public void run() { System.out.println("My thread"); } } class HelloThread extends Thread{ public void start(){ System.out.println("Hello thread"); } public void run(){ Thread thread = new Thread(new MyThread()); thread.start(); } }

  1. The program will output 'Hello Thread' and 'My Thread'.
  2. The program will output 'Hello Thread'.
  3. The program will output 'My Thread' and 'Hello Thread'.
  4. The order of the outputs is not will vary upon execution.
Question 5 Multiple Choice (Single Answer)

What will be output for the following program? public class BoxingTest { public static void main(String[] args) { byte b = 10; method(b); } static void method(int i){ System.out.println("Primitive Type call"); } static void method(Integer i){ System.out.println("Wrapper Type Call"); } }

  1. Wrapper Type Call
  2. Primitive Type Call
  3. Compiler Error
  4. Compiles fine, throws runtime exception
Question 6 Multiple Choice (Single Answer)

How does the set collection deal with duplicate elements?

  1. An exception is thrown if you attempt to add an element with a duplicate value.
  2. The add method returns false if you attempt to add an element with a duplicate value.
  3. A set may contain elements that return duplicate values from a call to the equals method.
  4. Duplicate values will cause an error at compile time.
Question 7 Multiple Choice (Single Answer)

What will be the outcome of line no. 9 in the following program ? 1. public class SearchArray { 2. public static void main(String[] args) { 3. String[] strArr = {"one","two","three","four","five","six","seven"}; 4. boolean[] boolArr = {true,false,false,true,false}; 5. int[] intArr = {22,11,66,99}; 6. Arrays.sort(intArr); 7. for(int n=0; n<intArr.length; n++) 8. {System.out.println(n+". "+intArr[n]);} 9. System.out.println(Arrays.binarySearch(intArr,67)); 10. } 11. }

  1. -3
  2. 3
  3. -4
  4. 4
Question 8 Multiple Choice (Single Answer)

Given: 11. public static Iterator reverse(List list) { 12. Collections.reverse(list); 13. return list.iterator(); 14. } 15. public static void main(String[] args) { 16. List list = new ArrayList(); 17. list.add(” 1”); list.add(”2”); list.add(”3”); 18. for (Object obj: reverse(list)) 19. System.out.print(obj + “,”); 20. } ‘What is the result?

  1. 3,2, 1,
  2. 1, 2, 3,
  3. Compilation fails.
  4. The code runs with no output.
  5. An exception is thrown at runtime.
Question 9 Multiple Choice (Single Answer)

Given: 11. public static Collection get() { 12. Collection sorted = new LinkedList(); 13. sorted.add(’B”); sorted.add(”C”); sorted.add(”A”); 14. return sorted; 15. } 16. public static void main(String[] args) { 17. for (Object obj: get()) { 18. System.out.print(obj + “, “); 19. } 20. } What is the result?

  1. A, B, C,
  2. B, C, A,
  3. Compilation fails.
  4. The code runs with no output.
  5. An exception is thrown at runtime.
Question 10 Multiple Choice (Single Answer)

Is this code legal ? class ExceptionA extends Exception {} class ExceptionB extends ExceptionA {} public class Test{ void thrower() throws ExceptionB{ throw new ExceptionB(); } public static void main(String[] args){ Test t = new Test(); try{t.thrower();} catch(ExceptionA e) {} catch(ExceptionB e) {} } }

  1. yes
  2. no
  3. DO NOT SELECT 1
  4. DO NOT SELECT 2
Question 11 Multiple Choice (Single Answer)

Is this code legal ? class ExceptionA extends Exception {} class ExceptionB extends ExceptionA {} class A{ void thrower() throws ExceptionA{ throw new ExceptionA(); } } public class B extends A{ void thrower() throws ExceptionB{ throw new ExceptionB(); } }

  1. yes
  2. no
  3. DO NOT SELECT 1
  4. DO NOT SELECT 2
Question 12 Multiple Choice (Single Answer)

What will be output for the following program? public class BoxingTest { public static void main(String[] args) { byte b = 10; method(b); } static void method(int i){ System.out.println("Primitive Type call"); } static void method(Integer i){ System.out.println("Wrapper Type Call"); } }

  1. Wrapper Type Call
  2. Primitive Type Call
  3. Compiler Error
  4. Compiles fine, throws runtime exception
Question 13 Multiple Choice (Single Answer)

How does the set collection deal with duplicate elements?

  1. An exception is thrown if you attempt to add an element with a duplicate value.
  2. The add method returns false if you attempt to add an element with a duplicate value.
  3. A set may contain elements that return duplicate values from a call to the equals method.
  4. Duplicate values will cause an error at compile time.
Question 14 Multiple Choice (Single Answer)

What will be the outcome of line no. 9 in the following program ? 1. public class SearchArray { 2. public static void main(String[] args) { 3. String[] strArr = {"one","two","three","four","five","six","seven"}; 4. boolean[] boolArr = {true,false,false,true,false}; 5. int[] intArr = {22,11,66,99}; 6. Arrays.sort(intArr); 7. for(int n=0; n<intArr.length; n++) 8. {System.out.println(n+". "+intArr[n]);} 9. System.out.println(Arrays.binarySearch(intArr,67)); 10. } 11. }

  1. -3
  2. 3
  3. -4
  4. 4
Question 15 Multiple Choice (Single Answer)

What will happen when you attempt to compile and run the following code? public class Bground extends Thread{ public static void main(String argv[]){ Bground b = new Bground(); b.run(); } public void start(){ for (int i = 0; i <10; i++){ System.out.println("Value of i = " + i); } } }

  1. A compile time error indicating that no run method is defined for the Thread class.
  2. A run time error indicating that no run method is defined for the Thread class.
  3. Clean compile and at run time the values 0 to 9 are printed out.
  4. Clean compile but no output at runtime.
Question 16 Multiple Choice (Single Answer)

What will be the output of the following program? package scjp.threadTest; public class Ques01 { public static void main(String[] args) { HelloThread hello = new HelloThread(); hello.start(); } } class MyThread implements Runnable{ @Override public void run() { System.out.println("My thread"); } } class HelloThread extends Thread{ public void start(){ System.out.println("Hello thread"); } public void run(){ Thread thread = new Thread(new MyThread()); thread.start(); } }

  1. The program will output 'Hello Thread' and 'My Thread'.
  2. The program will output 'Hello Thread'.
  3. The program will output 'My Thread' and 'Hello Thread'.
  4. The order of the outputs is not will vary upon execution.
Question 17 Multiple Choice (Single Answer)

Program output : package com.collection.examples; import java.util.HashSet; public class HashSetExample { public static void main(String[] args) { HashSet s = new HashSet();//1 for(short i = 0; i<100;i++){ //2 s.add(i); //3 s.remove(i-1); //4 } System.out.println(s.size()); //5 } }

  1. NumberFormat Exception
  2. 100
  3. Compilation fails at line 4
  4. 99
Question 18 Multiple Choice (Single Answer)

Which of the following options is true for the following program: try { if (choice) { while (true) } else { system .exit(1): } }finally { codetocleanup(); }

  1. Runtime Exception
  2. finally block will be executed
  3. finally block will not be executed
  4. Compilation error in else block
Question 19 Multiple Choice (Single Answer)

Is this code legal ? class ExceptionA extends Exception {} class ExceptionB extends ExceptionA {} public class Test{ void thrower() throws ExceptionB{ throw new ExceptionB(); } public static void main(String[] args){ Test t = new Test(); try{t.thrower();} catch(ExceptionA e) {} catch(ExceptionB e) {} } }

  1. yes
  2. no
  3. DO NOT SELECT 1
  4. DO NOT SELECT 2
Question 20 Multiple Choice (Single Answer)

Is this code legal ? class ExceptionA extends Exception {} class ExceptionB extends ExceptionA {} class A{ void thrower() throws ExceptionA{ throw new ExceptionA(); } } public class B extends A{ void thrower() throws ExceptionB{ throw new ExceptionB(); } }

  1. yes
  2. no
  3. DO NOT SELECT 1
  4. DO NOT SELECT 2