Programming Fundamentals Chapter 7 Pearson Quiz
If a key is not in the list, the binarySearch method returns _________.
-(insertion point + 1)
Assume int[] scores = {1, 20, 30, 40, 50}, what value does java.util.Arrays.binarySearch(scores, 3) return?
-2 (The binarySearch method returns the index of the search key if it is contained in the list. Otherwise, it returns -insertionPoint -1. The insertion point is the point at which the key would be inserted into the list. In this case the insertion point is 1. Note that the array index starts from 0.)
In the following code, what is the output for list1? public class Test { public static void main(String[] args) { int[] list1 = {1, 2, 3}; int[] list2 = {1, 2, 3}; list2 = list1; list1[0] = 0; list1[1] = 1; list2[2] = 2; for (int i = 0; i < list1.length; i++) System.out.print(list1[i] + " "); } }
0 1 2
In the following code, what is the output for list2? public class Test { public static void main(String[] args) { int[] list1 = {1, 2, 3}; int[] list2 = {1, 2, 3}; list2 = list1; list1[0] = 0; list1[1] = 1; list2[2] = 2; for (int i = 0; i < list2.length; i++) System.out.print(list2[i] + " "); } }
0 1 2
What is the output of the following code? double[] myList = {1, 5, 5, 5, 5, 1}; double max = myList[0]; int indexOfMax = 0; for (int i = 1; i < myList.length; i++) { if (myList[i] > max) { max = myList[i]; indexOfMax = i; } } System.out.println(indexOfMax);
1
What is output of the following code: public class Test { public static void main(String[] args) { int list[] = {1, 2, 3, 4, 5, 6}; for (int i = 1; i < list.length; i++) list[i] = list[i - 1]; for (int i = 0; i < list.length; i++) System.out.print(list[i] + " "); } }
1 1 1 1 1 1
What is the output of the following code? int[] myList = {1, 2, 3, 4, 5, 6}; for (int i = myList.length - 2; i >= 0; i--) { myList[i + 1] = myList[i]; } for (int e: myList) System.out.print(e + " ");
1 1 2 3 4 5
Given the following program: public class Test { public static void main(String[] args) { for (int i = 0; i < args.length; i++) { System.out.print(args[i] + " "); } } } What is the output, if you run the program using java Test 1 2 3
1 2 3
What is output of the following code: public class Test { public static void main(String[] args) { int[] x = {120, 200, 016}; for (int i = 0; i < x.length; i++) System.out.print(x[i] + " "); } }
120 200 14 (016 is an octal number. The prefix 0 indicates that a number is in octal)
Assume int[] scores = {1, 20, 30, 40, 50}, what value does java.util.Arrays.binarySearch(scores, 30) return?
2
Show the output of the following code: public class Test { public static void main(String[] args) { int[] x = {1, 2, 3, 4, 5}; increase(x); int[] y = {1, 2, 3, 4, 5}; increase(y[0]); System.out.println(x[0] + " " + y[0]); } public static void increase(int[] x) { for (int i = 0; i < x.length; i++) x[i]++; } public static void increase(int y) { y++; } }
2 1
If you declare an array double[] list = {3.4, 2.0, 3.5, 5.5}, list[1] is ________.
2.0
Use the selectionSort method presented in this section to answer this question. Assume list is {3.1, 3.1, 2.5, 6.4, 2.1}, what is the content of list after the first iteration of the outer loop in the method?
2.1, 3.1, 2.5, 6.4, 3.1
If you declare an array double[] list = {3.4, 2.0, 3.5, 5.5}, the highest index in array list is __________.
3
Assume int[] t = {1, 2, 3, 4}. What is t.length?
4
How many elements are in array double[] list = new double[5]?
5
Analyze the following code: public class Test { public static void main(String argv[]) { System.out.println("argv.length is " + argv.length); } }
If you run this program without passing any arguments, the program would display argv.length is 0.
Which correctly creates an array of five empty Strings?
String[] a = {"", "", "", "", ""};
These are correct ways to initialize a String array.
String[] list = new String[]{"red", "yellow", "green"}; String[] list = {"red", "yellow", "green"};
These are incorrect ways to initialize a String array.
String[] list = new String{"red", "yellow", "green"}; String list = {"red", "yellow", "green"}; String list = new String{"red", "yellow", "green"};
The __________ method copies the sourceArray to the targetArray.
System.arraycopy(sourceArray, 0, targetArray, 0, sourceArray.length);
Analyze the following code. int[] list = new int[5]; list = new int[6];
The code can compile and run fine. The second line assigns a new array to list.
What would be the result of attempting to compile and run the following code? public class Test { public static void main(String[] args) { double[] x = new double[]{1, 2, 3}; System.out.println("Value is " + x[1]); } }
The program compiles and runs fine and the output "Value is 2.0" is printed.
Analyze the following code: public class Test { public static void main(String[] args) { int[] x = {1, 2, 3, 4}; int[] y = x; x = new int[2]; for (int i = 0; i < x.length; i++) System.out.print(x[i] + " "); } }
The program displays 0 0
Analyze the following code: public class Test { public static void main(String[] args) { int[] x = {1, 2, 3, 4}; int[] y = x; x = new int[2]; for (int i = 0; i < y.length; i++) System.out.print(y[i] + " "); } }
The program displays 1 2 3 4
Analyze the following code: public class Test { public static void main(String[] args) { int[] oldList = {1, 2, 3, 4, 5}; reverse(oldList); for (int i = 0; i < oldList.length; i++) System.out.print(oldList[i] + " "); } public static void reverse(int[] list) { int[] newList = new int[list.length]; for (int i = 0; i < list.length; i++) newList[i] = list[list.length - 1 - i]; list = newList; } }
The program displays 1 2 3 4 5.
Analyze the following code: public class Test { public static void main(String[] args) { double[] x = {2.5, 3, 4}; for (double value: x) System.out.print(value + " "); } }
The program displays 2.5 3.0 4.0
Analyze the following code: public class Test { public static void main(String[] args) { int[] a = new int[4]; a[1] = 1; a = new int[2]; System.out.println("a[1] is " + a[1]); } }
The program displays a[1] is 0 (After executing the statement a = new int[2], a refers to int[2]. The default value for a[0] and a[1] is 0)
Analyze the following code: public class Test1 { public static void main(String[] args) { xMethod(new double[]{3, 3}); xMethod(new double[5]); xMethod(new double[3]{1, 2, 3}); } public static void xMethod(double[] a) { System.out.println(a.length); } }
The program has a compile error because xMethod(new double[3]{1, 2, 3}) is incorrect.
Analyze the following code: public class Test { public static void main(String[] args) { final int[] x = {1, 2, 3, 4}; int[] y = x; x = new int[2]; for (int i = 0; i < y.length; i++) System.out.print(y[i] + " "); } }
The program has a compile error on the statement x = new int[2], because x is final and cannot be changed.
Analyze the following code: public class Test { public static void main(String[] args) { int[] x = new int[5]; int i; for (i = 0; i < x.length; i++) x[i] = i; System.out.println(x[i]); } }
The program has a runtime error because the last statement in the main method causes ArrayIndexOutOfBoundsException.
Analyze the following code. public class Test { public static void main(String[] args) { int[] x = new int[3]; System.out.println("x[0] is " + x[0]); } }
The program runs fine and displays x[0] is 0.
Do the following two programs produce the same result? Program I: public class Test { public static void main(String[] args) { int[] list = {1, 2, 3, 4, 5}; reverse(list); for (int i = 0; i < list.length; i++) System.out.print(list[i] + " "); } public static void reverse(int[] list) { int[] newList = new int[list.length]; for (int i = 0; i < list.length; i++) newList[i] = list[list.length - 1 - i]; list = newList; } } Program II: public class Test { public static void main(String[] args) { int[] oldList = {1, 2, 3, 4, 5}; reverse(oldList); for (int i = 0; i < oldList.length; i++) System.out.print(oldList[i] + " "); } public static void reverse(int[] list) { int[] newList = new int[list.length]; for (int i = 0; i < list.length; i++) newList[i] = list[list.length - 1 - i]; list = newList; } }
Yes
Assume int[] scores = {1, 20, 30, 40, 50}, what is the output of System.out.println(java.util.Arrays.toString(scores))?
[1, 20, 30, 40, 50]
What is the representation of the third element in an array called a?
a[2]
How can you get the word "abc" in the main method from the following call? java Test "+" 3 "abc" 2
args[2]
How can you initialize an array of two characters to 'a' and 'b'?
char[] charArray = {'a', 'b'}; char[] charArray = new char[]{'a', 'b'};
Which of the following statements are valid?
double d[] = new double[30]; int[] i = {3, 4, 3, 2}; char[] c = new char[]{'a', 'b', 'c', 'd'};
The JVM stores the array in an area of memory, called _______, which is used for dynamic memory allocation where blocks of memory are allocated and freed in an arbitrary order.
heap
Suppose int i = 5, which of the following can be used as an index for array double[] t = new double[100]?
i (int)(Math.random() * 100)) i + 10
What is the correct term for numbers[99]?
indexed variable
Which code fragment would correctly identify the number of arguments passed via the command line to a Java application, excluding the name of the class that is being invoked?
int count = args.length;
These are incorrect ways to initialize an array.
int[] a = new int(2); int a = new int[2]; int a() = new int[2];
These are correct ways to initialize an array.
int[] a = new int[2]; int a[] = new int[2];
The __________ method sorts the array scores of the double[] type.
java.util.Arrays.sort(scores)
The reverse method is defined in this section. What is list1 after executing the following statements? int[] list1 = {1, 2, 3, 4, 5, 6}; int[] list2 = reverse(list1);
list1 is 1 2 3 4 5 6
Use the selectionSort method presented in this section to answer this question. What is list1 after executing the following statements? double[] list1 = {3.1, 3.1, 2.5, 6.4}; selectionSort(list1);
list1 is 2.5, 3.1, 3.1, 6.4
The reverse method is defined in the textbook. What is list1 after executing the following statements? int[] list1 = {1, 2, 3, 4, 5, 6}; list1 = reverse(list1);
list1 is 6 5 4 3 2 1
Which of the following is the correct header of the main method?
public static void main(String[] args) public static void main(String args[]) public static void main(String[] x) public static void main(String x[])
Which of the following declarations are correct?
public static void print(double... numbers) public static void print(int n, double... numbers)
Suppose a method p has the following heading: public static int[] p() What return statement may be used in p()?
return new int[]{1, 2, 3};
When you pass an array to a method, the method receives __________.
the reference of the array
When you return an array from a method, the method returns __________.
the reference of the array