Question 6 of 248

Given:

public class Counter {

public static void main (String[ ] args) {

int a = 10;

int b = -1;

assert (b >=1) : "Invalid Denominator";

int Ñ = a / b;

System.out.println (c);

}

}

What is the result of running the code with the ""ea option?

    Correct Answer: C

    The given code utilizes the assert statement to validate the condition that the denominator b is greater than or equal to 1. In the code, b is assigned the value -1, which violates this condition. When assertions are enabled using the -ea (enable assertions) option, the JVM evaluates assert statements, and if the condition in the assert statement is false, it throws an AssertionError. Therefore, the program will throw an AssertionError with the message 'Invalid Denominator' when run with the -ea option.

Question 7 of 248

Given:

class Bird {

public void fly () { System.out.print("Can fly"); }

}

class Penguin extends Bird {

public void fly () { System.out.print("Cannot fly"); }

}

and the code fragment:

class Birdie {

public static void main (String [ ] args) {

fly( ( ) -> new Bird ( ));

fly (Penguin : : new);

}

/* line n1 */

}

Which code fragment, when inserted at line n1, enables the Birdie class to compile?

    Correct Answer: C

    The correct answer involves defining the fly method to accept a Supplier of Bird objects. A Supplier is a functional interface that supplies objects of a given type. In this case, it seamlessly handles both Bird and Penguin instances. The correct fly method syntax is static void fly(Supplier<Bird> bird) { bird.get().fly(); }, ensuring that the get method retrieves a Bird object, on which the fly method can then be invoked.

Question 8 of 248

Given:

1. abstract class Shape {

2. Shape ( ) { System.out.println ("Shape"); }

3. protected void area ( ) { System.out.println ("Shape"); }

4. }

5.

6. class Square extends Shape {

7. int side;

8. Square int side {

9. /* insert code here */

10. this.side = side;

11. }

12. public void area ( ) { System.out.println ("Square"); }

13. }

14. class Rectangle extends Square {

15. int len, br;

16. Rectangle (int x, int y) {

17. /* insert code here */

18. len = x, br = y;

19. }

20. void area ( ) { System.out.println ("Rectangle"); }

21. }

Which two modifications enable the code to compile? (Choose two.)

    Correct Answer: D, F

    To enable the code to compile, two modifications are necessary. First, in 'Rectangle' class, when calling the superclass constructor, the correct modification is to insert 'super(x);' at line 17. This is because the 'Square' class does not have a no-argument constructor and requires 'side' to be initialized. Secondly, the 'area' method in 'Rectangle' class must match the access level of the method it overrides from its superclass to maintain visibility. Therefore, 'public' should be used before 'void area()' at line 20.

Question 9 of 248

Given:

class Sum extends RecursiveAction { //line n1 static final int THRESHOLD_SIZE = 3; int stIndex, lstIndex; int [ ] data; public Sum (int [ ]data, int start, int end) { this.data = data; this stIndex = start; this. lstIndex = end;

}

protected void compute ( ) {

int sum = 0;

if (lstIndex "" stIndex <= THRESHOLD_SIZE) {

for (int i = stIndex; i < lstIndex; i++) {

sum += data [i];

}

System.out.println(sum);

} else {

new Sum (data, stIndex + THRESHOLD_SIZE, lstIndex).fork( );

new Sum (data, stIndex,

Math.min (lstIndex, stIndex + THRESHOLD_SIZE)

).compute ();

}

}

}

and the code fragment:

ForkJoinPool fjPool = new ForkJoinPool ( );

int data [ ] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

fjPool.invoke (new Sum (data, 0, data.length));

and given that the sum of all integers from 1 to 10 is 55.

Which statement is true?

    Correct Answer: A

    The program utilizes the ForkJoin framework with a threshold to decide whether to compute the sum directly or to fork into smaller subtasks. Given the threshold size, the sum operation is divided among several tasks, and each task computes a partial sum and prints it. Therefore, the program prints several values that, when totaled, amount to 55.

Question 10 of 248

Given the content of Operator.java, EngineOperator.java, and Engine.java files:

and the code fragment:

What is the result?

    Correct Answer: A