public static void xMethod(int[] x, int length) { for (int i = 0; i < length; i++) System.out.print(\ }
}
A. The program displays 0 1 2 3 4.
B. The program displays 0 1 2 3 4 and then raises a runtime
exception. C. The program displays 0 1 2 3 4 5.
D. The program displays 0 1 2 3 4 5 and then raises a runtime
exception.
92. Analyze the following code:
public class Test {
public static void main(String[] args) { int[] x = new int[5];
for (int i = 0; i < x.length; i++) x[i] = i;
System.out.println(x[i]); }
}
A. The program displays 0 1 2 3 4. B. The program displays 4.
C. The program has a runtime error because the last statement in
the main method causes ArrayIndexOutOfBounds exception. D. The program has syntax error because i is not defined in the
last statement in the main method. 93. Assume
double[]
scores
=
{1,
2,
3,
4,
5},
what
value
does
java.util.Arrays.binarySearch(scores, 3.5) return? A. 0 B. -4 C. 3 D. -3 E. 4
94. When you return an array from a method, the method returns __________.
A. a copy of the array
B. a copy of the first element
C. the reference of the array D. the length of the array
第 21 页 共 34 页
PartII. Fill blanks (1pt for each blank).
1. One byte has ________ bits. // 8 or eight
2. Computer can execute the code in ________ language. // machine
3. ________ contains predefined classes and interfaces for developing Java programs. // JAVA
API 4. ________ consists of a set of separate programs for developing and testing Java programs,
each of which is invoked from a command line. // JAVA JDK
5. ________ provide an integrated development environment (IDE) for rapidly developing Java
programs. Editing, compiling, building, debugging, and online help are integrated in one
graphical user interface. // JAVA IDE
6. Java compiler translates Java source code into ________. // JAVA bytecode 7. ________ is a software that interprets Java bytecode. // Java virtual machine 8. The extension name of a Java source code file is ________. // .java 9. The extension name of a Java bytecode file is________. // .class
10. To declare a constant MAX_LENGTH inside a method with value 99.98, you write
________. // final double MAX_LENGTH = 99.98; 11. To declare an int variable number with initial value 2, you write ________. // int number = 2; 12. -24 % 5 is ________. // -4 13. -24 % -5 is ________. // -4
14. A Java character is stored in ________ bytes. // 2 or two 15. The printout of System.out.println('z' - 'a') is ________. // 25
16. The expression \ // Java15
17. The expression (int)(3.1415926 * 100) / 100.0 evaluates to _________. // 3.14
18. If a program compiles fine, but it produces incorrect result, then the program suffers a
________ error. // logic 19. Suppose your method does not return any value, the keyword ________ should be used as a
return type. // void 20. Each time a method is invoked, the system stores parameters and local variables in an area of
memory, known as a ________, which stores elements in last-in first-out fashion. // stack 21. The JVM stores the array in an area of memory, called a ________, which is used for
dynamic memory allocation where blocks of memory are allocated and freed in an arbitrary order. // heap
22. When you invoke a method with a parameter, the value of the argument is passed to the
parameter. This is referred to as pass by ________ . // value 23. (char)('a' + Math.random() * ('z' - 'a' + 1)) returns a random character between ?a? and
________ . // ?z? 24. The representation of the third element in an array called a is ________. // a[2]
PartIII. Correct errors in the following code (2pts for each error).
1.
public class Test {
public void Main(String[] args) { ( 1 ) /* public static void main(String[] args) { */
第 22 页 共 34 页
i = 0; ( 2 ) /* int i = 0; */ int j = i + 1;
int k = 5.5; ( 3 ) /* int k = (int)5.5; */ /* int k = 5; */
/* double k = 5.5; */
System.out.println(\ } }
2.
public class Test
{
public static void main(String[] args) {
int j = 0;
for (int i = 0; i < 10; i++); ( 4 ) /* for (int i = 0; i < 10; i++) */ {
if (j > i) then ( 5 ) /* if (j > i) */
j++ ( 6 ) /* j++; */ else j--;
}
System.out.println(\ } }
3.
public class Test {
public static void main(String[] args) {
double[4] list = {3, 4, 5, 6.3}; ( 7 ) /* double[] list = {3, 4, 5, 6.3}; */ double sum = xMethod(list);
System.out.println(\ }
public static double xMethod(int[] list) { ( 8 ) /*public static double xMethod(double[] list) { */ double sum = 0;
for (int i=0; i <= list.length; i++) { ( 9 ) /* for (int i=0; i < list.length; i++) { */
第 23 页 共 34 页
sum += list[i]; }
return sum; } }
4.
/** Use binary search to find the key in the list. Suppose the numbers
in the list are in ascending order. */
public static int binarySearch(int[] list, int key) { int low = 0;
int high = list.length - 1;
while (high > low) { ( 10 ) /* while (high >= low) { */
double mid = (low + high) / 2; ( 11 ) /* int mid = (low + high) / 2; */
if (key > list[mid]) ( 12 ) /* if (key < list[mid]) */ high = mid - 1;
else if (key == list[mid]) return mid; else
low = mid + 1; }
return –(low+1); }
PartIV. Show the output of the following code (5pts for each problem).
1.
public class Test {
public static void main(String[] args) { int x, y, i, j, k; float f; x = 1; y = 5 + x--; i = 1;
i += i + 3;
j = 25 / 2;
f = (float)((2 / 5) * j);
System.out.println(\
第 24 页 共 34 页