Question 1

Method A invokes method A itself. This is called _________.
Question 1 options:
indirect recursion
explicit recursion
direct recursion
one-step recursion
Question 2

What are the base cases in the following recursive method?
public static void recurse(int n)
{
if (n 0)
{
System.out.print(n % 10);
recurse(n / 10);
}
}
Question 2 options:
n < 0
n <= 0
n 0
no base cases
Question 3

What will be displayed by the method call recurse(1234)?
public static void recurse(int n)
{
if (n <= 0)
{
System.out.print(n % 10);
recurse(n / 10);
}
}
Question 3 options:
1234
4 3 2 1
Nothing
4321
Question 4

Analyze the following recursive method and indicate which of the following will be true.
public static long factorial(int n)
{
return n * factorial(n - 1);
}
Question 4 options:
Invoking factorial(2) returns 2.
Invoking factorial(1) returns 1.
The method runs infinitely and causes a StackOverflowError.
Invoking factorial(0) returns 0.
Question 5

Fill in the code to complete the following method for computing factorial.
// Return the factorial for a specified index
public static long factorial(int n)
{
if (n == 0)
return 1;
else
return _____________;
}
Question 5 options:
n * (n - 1)
n
n * factorial(n - 1)
factorial(n - 1) * (n - 1)
Question 6

What will be displayed by the method call recurse(6)?
public static int recurse(int n)
{
if (n <= 1)
return 1;
else
return n + recurse(n - 2);
}
Question 6 options:
13
14
11
12
Question 7

The base case _________ the recursion.
Question 7 options:
stops
breaks
pauses
starts
Question 8

What is the output of the following program?
{
public static void main(String[] args)
{
System.out.println(countDown(2, 0));
}
public static int countDown(int n, int result)
{
if (n == 0)
return 0;
else
return countDown(n - 1, n + result);
}
}
Question 8 options:
1
3
0
2
Question 9

Which of the following statements about recursive methods is accurate?
Question 9 options:
They must have exactly 1 base case and exactly 1 recursive case
They must have at least 1 base case and at least 1 recursive case
They must have exactly 1 base case and at least 1 recursive case
They must have at least 1 base case and exactly 1 recursive case
Question 10

Which of the following is a possible disadvantage of recursion?

Recursive solutions can be less efficient than their iterative counterparts
Recursive solutions tend to have more local variables than their iterative counterparts
Recursive solutions tend to be longer than their iterative counterparts
Recursive solutions are more likely to go into infinite loops than their iterative counterparts
Question 11

To declare an interface named A with two generic types, use
Question 11 options:
public interface A(E) { ... }
public interface A<E, F { ... }
public interface A<E { ... }
public interface A(E, F) { ... }
Question 12

Will the following code have a runtime error?
Comparable date = new Date();
int i = date.compareTo("time");
Question 12 options:
Always
Never
Only when date contains an invalid date
Only when date is not the current date
Question 13

To create a list to store integers, use
Question 13 options:
ArrayList<Object list = new ArrayList<Integer();
ArrayList<Number list = new ArrayList<Integer();
ArrayList<int list = new ArrayList();
ArrayList<Integer list = new ArrayList();
Question 14

To create a generic type bounded by Number, use
Question 14 options:
<E extends Object
<E extends Number
<E
<E extends Integer
Question 15

Which of the following describes the benefit of using generic classes to implement collections?
Question 15 options:
It eliminates the need to downcast objects when they are removed from a collection
It eliminates the need to upcast objects when they are inserted into a collection
It eliminates the need to downcast objects when they are inserted into a collection
It eliminates the need to upcast objects when they are removed from a collection
Question 16

Suppose list list1 is [1, 2, 5] and list list2 is [2, 3, 6]. After list1.addAll(list2), list2 is __________.
Question 16 options:
[1, 5]
[1, 2, 3, 5, 6]
[2, 3, 6]
[1, 2, 2, 3, 5, 6]
Question 17

Suppose a list contains {red, red, red, red}. What is the list after the following code?
String element = "red";
for (int i = list.size() - 1; i = 0; i--)
if (list.get(i).equals(element))
list.remove(element);
Question 17 options:
[red]
[red, red]
[]
[red, red, red]
Question 18

Which of the following is correct to sort the elements in a list aList?
Question 18 options:
Arrays.sort(aList)
Collections.sort(aList)
aList.sort()
Question 19
Which of the following best describes all objects of type List?
Question 19 options:
They define an ordered collection that prohibits duplicates
They define an ordered collection that allows duplicates
They define an unordered collection that allows duplicates
They define an unordered collection that prohibits duplicates
Question 20

Which of the following problems would be a good candidate for using a stack?
Question 20 options:
A print spooler that dispatches jobs based on shortest job first
An inventory system that processes product records by product number
A program that is designed to evaluate expressions