1
FINAL EXAM AND COURSE OUTCOMES MATCHING
COURSE OUTCOMES
Upon successful completion of this course, students should be able to
1. Will be able to write programs using primitive data types, variables, and
Here is a mapping of the final comprehensive exam against the course outcomes:
Question
Matches outcomes
Part I(a)
3
Part I(b)
3
Part I(c)
2
Part II(a)
3
Part II(b)
3
Part VI
1, 2, 3, 4, 5, 6, 7
2
Name:__________________
Covers chs 1-10
CSCI 1301 Final
Part I:
a:
The loop body is executed 10 times.
The printout of the code is
1
3
5
7
9
b.
int sum = 0;
int i = 0;
do {
sum += i;
i++;
} while (i < 100);
Part II:
a:
Add the static keyword in the place of ? if appropriate.
3
}
public static int factorial(int n) {
int result = 1;
for (int i = 1; i <= n; i++)
result *= i;
return result;
}
}
b:
c:
2765
d: numbers is 0 and numbers[0] is 3
e. (3 pts) Describe the difference between passing a parameter of a primitive type and passing a
parameter of a reference type. Show the output of the following programs:
When passing an argument of a primitive data type, the value of the argument is passed. When passing
Part III: (Write programs)
a.
public class Exercise07_19 {
public static void main(String[] args) {
java.util.Scanner input = new java.util.Scanner(System.in);
4
System.out.println(“\nThe list is not sorted”);
}
b.
public class Exercise06_23 {
public static void main(String[] args) {
// Prompt the user to enter a string
c.
public class Exercise10_04 {
5
public MyPoint(double x, double y) {
this.x = x;
this.y = y;
}
public double distance(MyPoint secondPoint) {
return distance(this, secondPoint);
}
6
Part IV: Multiple Choice Questions: (1 pts each)
(1. Mark your answers on the sheet. 2. Login and click Take
Instructor Assigned Quiz for QFinal. 3. Submit it online
within 5 mins. 4. Close the Internet browser.)
1. ________ is invoked to create an object.
a. A constructor
b. The main method
c. A method with a return type
d. A method with the void return type
#
2. Analyze the following code.
class TempClass {
int i;
public void TempClass(int j) {
int i = j;
}
}
public class C {
public static void main(String[] args) {
TempClass temp = new TempClass(2);
}
}
a. The program has a compile error because TempClass does not have a default
constructor.
b. The program has a compile error because TempClass does not have a constructor
with an int argument.
c. The program compiles fine, but it does not run because class C is not public.
d. The program compiles and runs fine.
#
3. Variables that are shared by every instance of a class are __________.
a. public variables
b. private variables
c. instance variables
d. class variables
#
7
4. To create an instance of BigInteger for 454, use
a. BigInteger(454);
b. new BigInteger(454);
c. BigInteger(“454”);
d. new BigInteger(“454”);
#
5. What is the output of the following code?
public class Test {
public static void main(String[] args) {
java.math.BigInteger x = new java.math.BigInteger(“3”);
java.math.BigInteger y = new java.math.BigInteger(“7”);
x.add(y);
System.out.println(x);
}
}
a. 3
b. 4
c. 10
d. 11
#
6. The “less than or equal to” comparison operator in Java is __________.
A. <<
B. =<
C. !=
D. <=
E. <
#
7. Analyze the following code fragments that assign a boolean value to the variable even.
Code 1:
if (number % 2 == 0)
even = true;
else
even = false;
Code 2:
even = (number % 2 == 0) ? true: false;
8
Code 3:
even = number % 2 == 0;
A. Code 3 has a syntax error, because you attempt to assign number to even.
B. Code 2 has a syntax error, because you cannot have true and false literals in the
conditional expression.
C. All three are correct, but Code 1 is preferred.
D. All three are correct, but Code 2 is preferred.
E. All three are correct, but Code 3 is preferred.
#
8. How many times will the following code print “Welcome to Java”?
int count = 0;
do {
System.out.println(“Welcome to Java”);
} while (count++ < 10);
A. 10
B. 8
C. 0
D. 9
E. 11
#
9. What is the value in count after the following loop is executed?
int count = 0;
do {
System.out.println(“Welcome to Java”);
} while (count++ < 9);
System.out.println(count);
A. 11
B. 0
C. 9
D. 8
E. 10
#
10. What is the number of iterations in the following loop:
for (int i = 1; i <= n; i++) {
9
// iteration
}
A. 2*n
B. n
C. n – 1
D. n + 1
#
11. What is the output for y?
int y = 0;
for (int i = 0; i<10; ++i) {
y += i;
}
System.out.println(y);
A. 45
B. 12
C. 13
D. 10
E. 11
#
12. What is i after the following for loop?
int y = 0;
for (int i = 0; i<10; ++i) {
y += i;
}
A. 9
B. 10
C. undefined
D. 11
#
13. __________ is to implement one method in the structure chart at a time from the top
to the bottom.
A. Stepwise refinement
B. Top-down approach
C. Bottom-up and top-down approach
D. Bottom-up approach
10
#
14. Analyze the following code.
public class Test {
public static void main(String[] args) {
System.out.println(max(1, 2));
}
public static double max(int num1, double num2) {
System.out.println(“max(int, double) is invoked”);
if (num1 > num2)
return num1;
else
return num2;
}
public static double max(double num1, int num2) {
System.out.println(“max(double, int) is invoked”);
if (num1 > num2)
return num1;
else
return num2;
}
}
A. The program runs and prints 2 followed by “max(double, int)” is invoked.
B. The program cannot compile because the compiler cannot determine which max
method should be invoked.
C. The program runs and prints “max(int, double) is invoked” followed by 2.
D. The program runs and prints 2 followed by “max(int, double)” is invoked.
E. The program cannot compile because you cannot have the print statement in a non-
void method.
#
15. Analyze the following code:
public class Test {
public static void main(String[] args) {
System.out.println(xMethod(5, 500L));
}
public static int xMethod(int n, long l) {
11
System.out.println(“int, long”);
return n;
}
public static long xMethod(long n, long l) {
System.out.println(“long, long”);
return n;
}
}
A. The program does not compile because the compiler cannot distinguish which
xmethod to invoke.
B. The program runs fine but displays things other than 5.
C. The program displays long, long followed by 5.
D. The program displays int, long followed by 5.
#
16. What is Math.floor(3.6)?
A. 5.0
B. 3
C. 3.0
D. 4
#
17. How many elements are in array double[] list = new double[5]?
A. 5
B. 4
C. 6
D. 0
#
18. 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);
A. list1 is 6 5 4 3 2 1
B. list1 is 1 2 3 4 5 6
C. list1 is 0 0 0 0 0 0
D. list1 is 6 6 6 6 6 6
12
#
19. If you declare an array double[] list = {3.4, 2.0, 3.5, 5.5}, list[1] is ________.
a. 3.4
b. 2.0
c. 3.5
d. 5.5
e. undefined
#
20. In the following code, what is the printout for list2?
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] + ” “);
}
}
a. 1 2 3
b. 1 1 1
c. 0 1 2
d. 0 1 3
#
21. 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);
a. 0
b. 1
c. 2
13
d. 3
e. 4
#
22. Suppose a method p has the following heading:
public static int[][] p()
What return statement may be used in p()?
a. return 1;
b. return {1, 2, 3};
c. return int[]{1, 2, 3};
d. return new int[]{1, 2, 3};
e. return new int[][]{{1, 2, 3}, {2, 4, 5}};