SCJP Certification Questions With Answers Explanation :Java(Set-12)

Given:

1. import java.util.*;

2. public class Example {

3. public static void main(String[] args) {

4. // insert code here

5. set.add(new Integer(2));

6. set.add(new Integer(1));

7. System.out.println(set);

8. }

9. }

Which code, inserted at line 4, guarantees that this program will output [1, 2]?

A. Set set = new TreeSet();

B. Set set = new HashSet();

C. Set set = new SortedSet();

D. List set = new SortedList();

E. Set set = new LinkedHashSet();

Answer: A

Explanation :Here we will use TreeSet as it will sort also all items.Because we want output in sorted form.

—————————————————————————————-

Q. Given:

5. class A {

6. void foo() throws Exception { throw new Exception(); }

7. }

8. class SubB2 extends A {

9. void foo() { System.out.println(“B “); }

10. }

11. class Tester {

12. public static void main(String[] args) {

13. A a = new SubB2();

14. a.foo();

15. }

16. }

What is the result?

A. B

B. B, followed by an Exception.

C. Compilation fails due to an error on line 9.

D. Compilation fails due to an error on line 14.

E. An Exception is thrown with no other output.

Answer: D

Explanation :when we say super1.test()

compiler checks whether foo() method is there in super class or not of it is not there it will not compile. We have foo() method in Super class and it throws checked exception so we have to surround it with try and catch

try {

a.foo();

} catch (IOException e) {

e.printStackTrace();

}

Now let me say why we have to use Same or sub type of Exception in sub class test method declaration.

a.foo() is going to call subclass method in runtime because we are using polymorphic assignment in creating super1 instance.

if sub class method is allowed to throw any super type of exceptions declared in Super class method. that is if we are allowed to throw Exception instead IOException( or its subtype). it will not fit into catch statement since catch is using exception declared in super class method that is IOException.

—————————————————————————————-

Q. Given:

84. try {

85. ResourceConnection con = resourceFactory.getConnection();

86. Results r = con.query(“GET INFO FROM CUSTOMER”);

87. info = r.getData(); 88. con.close();

89. } catch (ResourceException re) {

90. errorLog.write(re.getMessage());

91. }

92. return info;

Which statement is true if a ResourceException is thrown on line 86?

A. Line 92 will not execute.

B. The connection will not be retrieved in line 85.

C. The resource connection will not be closed on line 88.

D. The enclosing method will throw an exception to its caller.

Answer: C

—————————————————————————————-

Q. Given:

3. public class Breaker {

4. static String o = “”;

5. public static void main(String[] args) {

6. z:

7. o = o + 2;

8. for(int x = 3; x < 8; x++) {

9. if(x==4) break;

10. if(x==6) break z;

11. o = o + x;

12. }

13. System.out.println(o);

14. }

15. }

What is the result?

A. 23

B. 234

C. 235

D. 2345

E. 2357

F. 23457

G. Compilation fails.

Answer: G

—————————————————————————————-

Q. Given:

11. public void go(int x) {

12. assert (x > 0);

13. switch(x) {

14. case 2: ;

15. default: assert false;

16. }

17. }

18. private void go2(int x) { assert (x < 0); }

Which statement is true?

A. All of the assert statements are used appropriately.

B. Only the assert statement on line 12 is used appropriately.

C. Only the assert statement on line 15 is used appropriately.

D. Only the assert statement on line 18 is used appropriately.

E. Only the assert statements on lines 12 and 15 are used appropriately.

F. Only the assert statements on lines 12 and 18 are used appropriately.

G. Only the assert statements on lines 15 and 18 are used appropriately.

Answer: G

Explanation :We use assertion to check a conditions instead of if-else condition.No need to use assertion on line 12.

—————————————————————————————-

Q. Given:

11. public static void main(String[] args) {

12. try {

13. args = null;

14. args[0] = “test”;

15. System.out.println(args[0]);

16. } catch (Exception ex) {

17. System.out.println(“Exception”);

18. } catch (NullPointerException npe) {

19. System.out.println(“NullPointerException”);

20. }

21. }

What is the result?

A. test

B. Exception

C. Compilation fails.

D. NullPointerException

Answer: C

Explanation :Here we haven’t use catch bloch properly.Firstly we should use subtype then super exception type.

Correct order :

catch (NullPointerException npe) {

19. System.out.println(“NullPointerException”);

20. }

catch (Exception ex) {

17. System.out.println(“Exception”);

18. }

—————————————————————————————-

Q. Given:

11. public static void main(String[] args) {

12. for (int i = 0; i <= 10; i++) {

13. if (i > 6) break;

14. }

15. System.out.println(i);

16. }

What is the result?

A. 6

B. 7

C. 10

D. 11

E. Compilation fails.

F. An exception is thrown at runtime.

Answer: E

—————————————————————————————-

Q. Given:

11. class X { public void foo() { System.out.print(“X “); } }

12.

13. public class SubB extends X {

14. public void foo() throws RuntimeException {

15. super.foo();

16. if (true) throw new RuntimeException();

17. System.out.print(“B “);

18. }

19. public static void main(String[] args) {

20. new SubB().foo();

21. }

22. }

What is the result?

A. X, followed by an Exception.

B. No output, and an Exception is thrown.

C. Compilation fails due to an error on line 14.

D. Compilation fails due to an error on line 16.

E. Compilation fails due to an error on line 17.

F. X, followed by an Exception, followed by B.

Answer: A

Explanation :We have call super class foo method in SubB class constructor.So firstly it will print X then exception.

—————————————————————————————-

Q. Given:

11. public void testIfA() {

12. if (testIfB(“True”)) {

13. System.out.println(“True”);

14. } else {

15. System.out.println(“Not true”);

16. }

17. }

18. public Boolean testIfB(String str) {

19. return Boolean.valueOf(str);

20. }

What is the result when method testIfA is invoked?

A. True

B. Not true

C. An exception is thrown at runtime.

D. Compilation fails because of an error at line 12.

E. Compilation fails because of an error at line 19.

Answer: A

Explanation :This is simple one we are just checking true and false.

—————————————————————————————-

Q. Which can appropriately be thrown by a programmer using Java SE technology to create a desktop application?

A. ClassCastException

B. NullPointerException

C. NoClassDefFoundError

D. NumberFormatException

E. ArrayIndexOutOfBoundsException

Answer: D

—————————————————————————————-

Q. Which two code fragments are most likely to cause a StackOverflowError? (Choose two.)

A. int []x = {1,2,3,4,5};

for(int y = 0; y < 6; y++)

System.out.println(x[y]);

B. static int[] x = {7,6,5,4};

static { x[1] = 8;

x[4] = 3; }

C. for(int y = 10; y < 10; y++)

doStuff(y);

D. void doOne(int x) { doTwo(x); }

void doTwo(int y) { doThree(y); }

void doThree(int z) { doTwo(z); }

E. for(int x = 0; x < 1000000000; x++)

doStuff(x);

F. void counter(int i) { counter(++i); }

Answer: D,F

Explanation :StackOverFowError means iteration is not going to be stop.

—————————————————————————————-

This entry was posted in Java Certifications, Java Programing, Programing and tagged , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>