CSA FInal
66) Which of the following is considered a loop with a problematic condition? a) for(i = 1; i != n; i++) b) for (years = n; years > 0; years++) c) for(i = 1; i <= n; i++) d) for (int i = 20; i >= 10; i--)
A
69) What is the output of the following loop? int s = 1; int n = 1; do { s = s + n; n++; } while (s < 10 * n); System.out.println(s); a) 211 b) 210 c) 120 d) 123
A
71) Suppose that the chance to hit the jackpot in a lottery is one in one million. Which of the following code snippets simulates that random number? a) (long) (Math.random() * 1000000 + 1) b) (long) (Math.random() * 100000 + 1) c) (long) (Math.random() * 9999990 + 1) d) (long) (Math.random() * 1000001 + 1)
A
76. When hand tracing, drawing a line through the value stored in a variable means that a) The value stored there has changed to something new b) The variable is the wrong data type for the code being executed c) The expression being evaluated uses that variable d) The variable must be inside a loop
A
81. When designing storyboards, it is a good idea to use different colors to a) Make it easy to distinguish between user input and program output. b) Match the colors your program will use when it is finally designed. c) Emphasize the difference between numbers and words. d) Draw lines to divide up panels into different regions.
A
83) Which statement about storyboards is true? a) A storyboard can help prevent potential user confusion early in the design process. b) Storyboards are used primarily to understand how implemented programs work. c) The storyboard helps to train users about how to use software. d) Storyboards have no relationship to the structure of an actual working program.
A
90) Which for loop prints data across each row in the following code snippet? int i; int j; for (i = 1; i <= 3; i++) { for (j = 1; j <= 3; j++) { System.out.print("X"); } System.out.println(""); } a) The inner for loop b) The outer for loop c) Both for loops d) Another missing for loop
A
92) In the following code snippet, when does the execution of the program switch from the inner loop to the outer loop? int i; int j; for (i = 0; i <= 9; i++) { for (j = 1; j < 5; j++) { System.out.println("Hello"); } } a) When the value of j becomes 5 b) When the program executes completely c) When the condition for the outer loop is met d) When the value of i is incremented
A
98) How many times does the following loop execute? int upperCaseLetters = 0; String str = "abcdefgHIJKL"; boolean found = false; for (int i = str.length() - 1; i >= 0 && !found; i--) { char ch = str.charAt(i); if (Character.isUpperCase(ch)) { upperCaseLetters++; } else { found = false; } } a) 6 times b) 8 times c) 9 times d) 12 times
A
char ch1 = '\ u0000'; char ch2 = '\ uffff'; for (int i = 0; i < 1000; i++) { if (i % 50 == 0) { System.out.println(); } System.out.print((char)(ch1 + Math.random() * (ch2 - ch1 + 1))); } a) It displays random Unicode characters. b) It displays random ASCII characters. c) Nothing because it has compilation error. d) It displays the hexadecimal characters between '0' and 'F'.
A
21) What will be the final output of the following code snippet when a user enters input values in the order 10, 20, 30, 40, 50, and -1? public static void main(String[] args) { double sum = 0; int count = 0; double salary = 0; double average = 0; Scanner reader = new Scanner(System.in); System.out.println("Enter salaries (-1 to stop): "); while (salary != -1) { salary = reader.nextInt(); if (salary != -1) { sum = sum + salary; count++; } } if (count > 0) { average = sum / count; System.out.println("The Average Salary: " + average); } else { System.out.println ("No data!"); } return 0; } a) The Average Salary: 0 b) The Average Salary: 30 c) The Average Salary: 24.83333 d) There will be no output as the code snippet will not compile.
Answer: B
34) What is the output of the code snippet given below? String s = "abcde"; int i = 1; do { if (i > 1) { System.out.print(s.substring(i, i + 1)); } } while (i < 5); a) No output b) No output (infinite loop) c) abcde d) bcde
Answer: B
36) What is the output of the code snippet given below? String s = "12345"; int i = 1; do { if (i > 1) { System.out.print(s.substring(i, i + 1)); } } while (i < 5); a) No output b) No output (infinite loop) c) 12345 d) 2345
Answer: B
40) What is the output of the following code snippet? int i = 1; while (i < 20) { System.out.print(i + " "); i = i + 2; if (i == 15) { i = 19; } } a) 1 3 5 7 9 11 13 15 17 19 b) 1 3 5 7 9 11 13 19 c) 1 3 5 7 9 11 13 15 17 d) 1 3 5 7 9 11 13 17 19
Answer: B
7) The code snippet below checks whether a given number is a prime number. What will be the result of executing it? public static void main(String[] args) { int j = 2; int result = 0; int number = 0; Scanner reader = new Scanner(System.in); System.out.println("Please enter a number: "); number = reader.nextInt(); while (j <= number / 2) { if (number % j == 0) { result = 1; } j++; } if (result == 1) { System.out.println("Number: " + number + " is Not Prime."); } else { System.out.println("Number: " + number + " is Prime. "); } } a) The code snippet will not compile. b) The code snippet will display the desired result. c) The code snippet will display an incorrect result. d) The code snippet will loop forever.
Answer: B
1) Which of the following loops executes the statements inside the loop before checking the condition? a) for b) while c) do d) do-for
Answer: C
10) How many times does the following code fragment display "Hi"? int i = 10; while (i >= 0) { System.out.println("Hi"); i--; } a) 9 times b) 10 times c) 11 times d) 12 times
Answer: C
12) How many times does the loop execute in the following code fragment? int i; for (i = 0; i < 50; i = i + 4) { System.out.println(i); } a) 11 b) 12 c) 13 d) 14
Answer: C
15) Which loop does not check a condition at the beginning of the loop? I. The do loop II. The while loop III. The for loop a) I and II b) I and III c) I only d) III only
Answer: C
16) How many times does the following loop run? int i = 0; int j = 1; do { System.out.println("" + i + ";" + j); i++; if (i % 2 == 0) { j--; } } while (j >= 1); a) 0 times b) 1 times c) 2 times d) 4 times
Answer: C
19) How many times will the output line be printed in the following code snippet? for (int num2 = 1; num2 <= 3; num2++) { for (int num1 = 0; num1 <= 2; num1++) { System.out.println("" + num2 + " " + num1); } } a) 3 times b) 6 times c) 9 times d) 12 times
Answer: C
26) How many times does the code snippet below display "Hello"? int i = 0; while (i != 15) { System.out.println("Hello"); i++; } a) Infinite times b) 14 times c) 15 times d) 16 times
Answer: C
27) How many times does the following loop execute? int upperCaseLetters = 0; String str = "abcdEfghI"; boolean found = false; for (int i = 0; i < str.length() && !found; i++) { char ch = str.charAt(i); if (Character.isUpperCase(ch)) { found = true; } } a) 9 times b) 8 times c) 5 times d) 1 time
Answer: C
29) What is the result when the following code is run? double x = 1; double y = 1; int i = 0; do { y = x / 2; x = x + y; i = i + 1; } while (x < 2.5); System.out.print(i + " "); a) 1 b) 2 c) 3 d) 4
Answer: C
31) Which of the following is the correct code snippet for throwing a pair of dice to get a sum of the numbers on two dice between 2 and 12 with different probabilities? a) (int) (Math.random() * 6 + 1) b) (int) (Math.random() * 12 + 1) c) (int) (Math.random() * 6 + 1) + (int) (Math.random() * 6 + 1) d) (int) (Math.random() * 12 - 2)
Answer: C
32) Given the following code snippet, what should we change to have 26 alphabet characters in the string str? String str = ""; for (char c = 'A'; c < 'Z'; c++) { str = str + c; } a) int c = 'A' b) str = c + str; c) c <= 'Z' d) Must change to use a do loop
Answer: C
39) What is the output of the code fragment given below? int i = 0; int j = 0; while (i < 125) { i = i + 2; j++; } System.out.println(j); a) 0 b) 62 c) 63 d) The code fragment displays no output because it does not compile.
Answer: C
4) How many times does the code snippet given below display "Loop Execution"? int i = 1; while (i != 10) { System.out.println ("Loop Execution"); i++; } a) Infinite times b) 8 times c) 9 times d) 10 times
Answer: C
9) Which error type does the "off-by-one" error belong to? a) Syntax error b) Compile-time error c) Run-time error d) Infinite loop
Answer: C
13) How many times does the following code snippet display "Loop Execution"? for (int i = 0; i < 10; i++) { System.out.println("Loop Execution"); } a) Ten times. b) The code snippet does not run because of a compile error. c) Infinite loop. d) Only one time.
Answer: D
14) What is the output of the code snippet given below? int i; int j = 0; for (i = 0; i < 5; i++) { if (i % 2 == 0) { i = i + 2; j++; } else { i++; j = j + 2; } j++; } System.out.println("i=" + i + ", j=" + j); a) i=7, j =7 b) i =7, j =6 c) i =6, j =7 d) i =5, j =5
Answer: D
2) How many times will the following loop run? int i = 0; while (i < 10) { System.out.println(i); i++; } a) 0 b) 8 c) 9 d) 10
Answer: D
24) What is the output of the following code snippet? int i = 1; while (i <= 10) { System.out.println("Inside the while loop"); i = i + 10; } a) No output because of compilation error. b) "Inside the while loop" will be displayed 10 times. c) No output after successful compilation. d) "Inside the while loop" will be displayed only once.
Answer: D
3) What is the output of the code snippet given below? int i = 0; while (i != 9) { System.out.println("" + i); i = i + 2; } a) No output b) 0 2 4 6 8 c) 10 12 14 16 18 .... (infinite loop) d) 0 2 4 6 8 10 12 14 .... (infinite loop)
Answer: D
35) What is the output of the code snippet given below? String s = "12345"; int i = 1; while (i < 5) { System.out.print(s.substring(i, i + 1)); i++; } a) No output b) 1234 c) 12345 d) 2345
Answer: D
41) What are the values of i and j after the following code snippet is run? int i = 10; int j = 20; int count = 0; while (count < 5) { i = i + i; i = i + 1; j = j - 1; j = j - j; count++; } System.out.println("i = " + i + ", j = " + j); a) i = 45, j = 1 b) i = 351, j = 0 c) i = 351, j = 2 d) i = 1311, j = 35
B
43) What is the last output line of the code snippet given below? int i = 0; while (i < 10) { int num = 1; for (int j = i; j > 1; j--) { System.out.print(j + " "); num = num * 2; } System.out.println("***"); i++; } a) 3 2 *** b) 9 8 7 6 5 4 3 2 *** c) 8 7 6 5 4 3 2 *** d) 2 ***
B
45) In the __________ loop header, you can include multiple update expressions, separated by commas, but it is not recommended. a) do b) while c) for d) do
B
50) What does the following code do? int sum = 0; final int count = 1000; for (int i = 1; i <= count; i++) { sum = sum + (int) (Math.random() * 101); } System.out.println(sum / count); a) It simulates the outcome of throwing a coin. b) It calculates the average of 1000 random numbers between 0 and 100. c) It performs Monte Carlo simulation of fluid dynamics. d) It calculates the average of 1000 random numbers between 1 and 101.
B
53) What is the output of the following code snippet? int f1 = 0; int f2 = 1; int fRes; System.out.print(f1 + " "); System.out.print(f2 + " "); for (int i = 1; i < 10; i++) { fRes = f1 + f2; System.out.print(fRes + " "); f1 = f2; f2 = fRes; } System.out.println(); a) 0 1 5 7 9 11 13 15 17 19 b) 0 1 1 2 3 5 8 13 21 34 c) 0 1 4 6 8 10 12 14 16 18 d) 0 1 6 7 9 12 14 17 19 21
B
59) Which of the following for loops is illegal? a) for (int i = 0; ; ) { } b) for (int i = 0) { } c) for (int i = 0, k = 1; ; i++) { } d) for ( ; ; )
B
63) Which code snippet produces the sum of the first n even numbers? (0 is not considered an even number.) a) int sum = 0; for (int i = 1; i <= n; i++) { if (i % 2 == 0) { sum = sum + i; } } b) int sum = 0; for (int i = 1; i <= n; i++) { sum = sum + i * 2; } c) int sum = 0; for (int i = 0; i < n; i++) { if (i % 2 == 0) { d) int sum; for (int i = 1; i <= n; i++) { sum = sum + i * 2;
B
72) Which of the following loop(s) could possibly not enter the loop body at all? I. for loop II. while loop III. do loop a) I only b) I and II only c) II and III only d) I and III only
B
75) When hand-tracing the loop in the code snippet below, which variables are important to evaluate? int i = 10; int j = 5; int k = -10; int sum = 0; while (i > 0) { sum = sum + i + j; i--; System.out.println("Iteration: " + i); } a) The variables i and j b) The variables i and sum c) The variables i, j, and k d) The variables j and k
B
54) How many times does the following loop execute? double d; double x = Math.random() * 100; do { d = Math.sqrt(x) * Math.sqrt(x) - x; System.out.println(d); x = Math.random() * 10001; } while (d != 0); a) Exactly once b) Exactly twice c) Can't be determined d) Always infinite loop
C
57) What does the following code snippet print? int a = 120; int b = 90; int n1 = Math.abs(a); int n2 = Math.abs(b); int result = 1; for (int k = 1; k <= n1 && k <= n2; k++) { if (n1 % k == 0 && n2 % k == 0) { result = k; } } System.out.println(result); a) 10 b) 20 c) 30 d) 40
C
62) How many times does the following loop execute? int i = 0; boolean found = false; while (i < 100 && !found) { i++; System.out.print(i + " "); int j = i * i; if ((i * i * i) % j == j) { found = true; } } a) 10 times b) 20 times c) 100 times d) An infinite number of times
C
67) How do you fix this code snippet to make it print out the sum when the user enters Q? System.out.print("Enter a value, Q to quit: "); double sum = 0; Scanner in = new Scanner(System.in); boolean hasData = true; do { double value = in.nextDouble(); sum = sum + value; System.out.print("Enter a value, Q to quit: "); } while (in.hasNext()); System.out.println("sum " + sum); a) while (in.hasData()); b) while (!in.hasEnded()); c) while (in.hasNextDouble()); d) while (hasData);
C
78. What are the values of i and j after the following code snippet executes? int i = 60; int j = 50; int count = 0; while (count < 5) { i = i + i; i = i + 1; j = j - 1; j = j - j; count++; } System.out.println(i); System.out.println(j); a) i = 65, j = 1 b) i = 65, j = 45 c) i = 1951, j = 0 d) i = 1951, j = 45
C
80. Storyboards are a helpful part of the design process because the storyboard develops a) A pseudocode description of the algorithm being designed b) The mathematical formulas required for computing a correct answer c) The information needed to solve the problem, and how to present that information d) The amount of time and space needed to find a solution
C
82. Suppose you must design a program to calculate the roll-out (number of inches traveled in one revolution of the pedals of a bicycle based on its gear combinations). The user must provide the gear sizes, which must be converted into roll-out for all different gear combinations. How can the flow of user interaction for this problem be designed? a) Hand-tracing can confirm code that implements gear selection. b) Pseudocode can guide algorithm design through divide-and-conquer strategy. c) A storyboard can be used. d) The physical gears can lead to ideas for the correct algorithm to use.
C
51) What is the output of the following code snippet? double a = 2; int n = 16; double r = 1; double b = a; int i = n; while (i > 0) { if (i % 2 == 0) // n is even { b = b * b; i = i / 2; } else { r = r * b; i--; } } System.out.println("r = " + r); a) 16.0 b) 128.0 c) 4096.0 d) 65536.0
D
60) Which of the following loops executes exactly 10 times? a) for (int i = 0; i <= 10; i++) { } b) int i = 0; boolean found = false; do { i++; if (i % 10 == 0) { found = true; } } while (i < 10 && !found); c) int i = 0; while (i <= 10) { i++; } d) for (int i = 1; i <= 10; i++)
D
61) How many times does the following loop execute? for (double d = 1; d != 10; d++) { d = d / 3; System.out.print(d + " "); } a) 10 b) 9 c) 8 d) An infinite number of times
D
64) Suppose that a program asks a user to enter multiple integers, either positive or negative, to do some calculation. The data entry will stop when the user enters a certain value to indicate the end of the data. What value should the code use as the sentinel? a) 0 b) -1 c) 999 d) An alphabetic character
D
70) Which of the following is correct for simulating the toss of a pair of coins to get 0 (head) or 1 (tail) with different probabilities? a) (int) (Math.random() * 0 + 1) b) (int) (Math.random() * 1 + 1) c) (int) (Math.random() * 2) d) (int) (Math.random() * 2) + (int) (Math.random() * 2)
D
91) What will be the output of the following code snippet? int i; int j; for (i = 0; i < 6; i++) { for (j = 7; j > i; j--) { System.out.print("*"); } System.out.println(""); } a) A rectangle with six rows and seven columns of asterisks. The number of rows increments by one on completion of one iteration of the inner loop. b) A right triangle with six rows and seven columns of asterisks. The number of columns increments by one on completion of one iteration of the inner loop. c) A rectangle with seven rows and six columns of asterisks. The number of rows increments by one on completion of one iteration of the inner loop. d) An inverted right triangle with six rows and seven columns of asterisks. The number of columns decrements by one on completion of one iteration of the inner loop.
D
94) Which statement is correct about the execution of the loop in the following code fragment? double num; int incr = 0; Scanner reader = new Scanner(System.in); do { incr = incr + 1; System.out.println("Please enter a number (0 when done): "); num = reader.nextDouble(); } while (num != 0); System.out.println("" + incr); a) The loop will execute only when 0 is entered. b) The execution of the loop is independent of user input. c) The program prints the count of positive inputs. d) The loop will execute at least once even if the user has entered the sentinel value.
D
106) What is the output of this code snippet? int s = 1; int n = 1; do { s = s + n; System.out.print(s + " "); n++; } while (s < 3 * n); a) 2 4 7 11 16 22 b) 1 3 5 7 9 c) 2 3 5 6 7 d) 2 4 6 8
A
44) Which of the following is considered a loop with a bound that could be problematic? a) for (i = 1; i != n; i++) b) for (years = n; years < 0; years--) c) for (i = 1; i <= n; i++) d) for (int i = 1; i <= 10; i++)
A
46) What values does counter variable i assume when this loop executes? for (int i = 20; i >= 2; i = i - 6) { System.out.print(i + ","); } a) 20, 14, 8, 2 b) 20, 14, 8, 2, -4 c) 20, 14, 8 d) 14, 8, 2
A
52) Choose the loop that is equivalent to this loop. int n = 1; double x = 0; double s; do { s = 1.0 / (n * n); x = x + s; n++; } while (s > 0.01); a) double x = 0; double s = 1; for (int k = 1; s > 0.01; k++) { s = 1.0 / (k * k); x = x + s; } b) double x = 0; double s = 1; for (int k = 1; k < 100; k++) { s = 1.0 / (k * k); x = x + s; } c) double x = 0; double s = 1; int k = 10; while (s > 0.01) { s = 1.0 / (k * k); x = x + s; k++; } d) double x = 0; double s = 10; int k = 1; while (s > 0.01) { s = 1.0 / (k * k); x = x + s; k++;
A
56) What is the output of the following code snippet? int counter = 1; for (double i = 0.01; i <= 1.0; i = i + 0.01) { counter++; } System.out.println(counter); a) 100 b) 49.50 c) 60.5 d) 10
A
18) What is the first and last value of i to be displayed by the following code snippet? int n = 20; for (int i = 0; i <= n; i++) { for (int j = 0; j <= i; j++) { System.out.println("" + i); } } a) 0 and 20 b) 1 and 20 c) 0 and 19 d) 1 and 19
Answer: A
28) In the following code snippet, when does the execution of the program switch from the inner loop to the outer loop? int i; int j; for (i = 0; i <= 9; i++) { for (j = 1; j < 5; j++) { System.out.println("Hello"); if (j == 2) { j = 6; } } } a) When the value of j becomes 6 b) When the program executes completely c) When the condition for the outer loop is met d) When the value of i is incremented
Answer: A
38) What is the data type of the number generated by the Math.random() function? a) double b) float c) int d) String
Answer: A
8) What are the values of i and j after the following code fragment runs? int i = 60; int j = 50; int count = 0; while (count < 5) { i = i + i; i = i + 1; j = j - 1; j = j - j; count++; } System.out.println("i=" + i + ", j=" + j); a) i = 1951, j = 0 b) i = 1951, j = 45 c) i = 65, j = 1 d) i = 65, j = 45
Answer: A
11) What is the output of the following code fragment? int i = 1; int sum = 0; while (i <= 11) { sum = sum + i; i++; } System.out.println("The value of sum is " + sum); a) The value of sum is 65 b) The value of sum is 66 c) The value of sum is 55 d) The value of sum is 56
Answer: B
17) A loop inside another loop is called: a) A sentinel loop b) A nested loop c) A parallel loop d) A do/while loop
Answer: B
25) What is the outcome of the following code snippet? boolean val1 = true; boolean val2 = false; while (val1) { if (val1) { System.out.println("Hello"); } val1 = val2; } a) No output will be displayed because of compilation error. b) "Hello" will be displayed only once. c) "Hello" will be displayed infinite times. d) No output will be displayed even after successful compilation of the code snippet.
Answer: B
6) What is the output of the following code snippet? int i = 1; while (i < 10) { System.out.print(i + " "); i = i + 2; if (i == 5) { i = 9; } } a) 1 3 5 b) 1 3 9 c) 1 3 5 7 9 d) 1 3 5 9
Answer: B
22) What will be the output of the following code snippet? boolean token = false; while (token) { System.out.println("Hello"); } a) "Hello" will be displayed infinite times. b) No output because of compilation error. c) No output after successful compilation. d) "Hello" will be displayed only once.
Answer: C
20) What is the sentinel value in the following code snippet? public static void main(String[] args) { int age = 0; int sumOfAges = 0; int stop = 1; Scanner reader = new Scanner(System.in); System.out.println("Enter an age (-1 to stop): "); age = reader.nextInt(); while (age != -1) { sumOfAges = sumOfAges + age; System.out.println("Enter an age (-1 to stop): "); age = reader.nextInt(); } System.out.println("Sum of ages " + sumOfAges); return 0; } a) 0 b) 1 c) 2 d) -1
Answer: D
23) What will be the output of the following code snippet? boolean token = false; do { System.out.println("Hello"); } while (token); a) "Hello" will be displayed infinite times. b) No output because of compilation error. c) No output after successful compilation. d) "Hello" will be displayed only once.
Answer: D
30) What will be the range of the random numbers generated by the following code snippet? int r1 = (int) (Math.random() * 50) + 1; a) Between 1 and 49 b) Between 0 and 50 c) Between 0 and 49 d) Between 1 and 50
Answer: D
33) What is the output of the code snippet given below? String s = "abcde"; int i = 1; while (i < 5) { System.out.print(s.substring(i, i + 1)); i++; } a) No output b) abcd c) abcde d) bcde
Answer: D
37) Which of the following activities can be simulated using a computer? I. Waiting time in a line at a restaurant II. Tossing a coin III. Shuffling cards for a card game a) I only b) II only c) I and II only d) I, II, and III
Answer: D
5) What is the output of the code fragment given below? int i = 0; int j = 0; while (i < 27) { i = i + 2; j++; } System.out.println("j=" + j); a) j=27 b) j=12 c) j=13 d) j=14
Answer: D
104) Select the statement that correctly completes the loop in this code snippet. int years = 20; double balance = 10000; while (years > 0) { __________ double interest = balance * rate / 100; balance = balance + interest; } a) years++; b) years--; c) balance++; d) balance--;
B
84) What will be the result of running the following code fragment? int year = 0; double rate = 5; double principal = 10000; double interest = 0; while (year < 10) { interest = (principal * year * rate) / 100; System.out.println("Interest " + interest); } a) The code fragment will display the interest calculated for nine years. b) The code fragment will continue to display the calculated interest forever because the loop will never end. c) The code fragment will not display the calculated interest and halt abruptly. d) The code fragment will not display any output because it will not compile.
B
85) Which of the following code snippets displays the output exactly 10 times? a) int i = 0; while (i < 10); { System.out.println("This is example 1."); i++; } b) int i = 0; while (i < 10) { System.out.println("This is example 2."); i++; } c) int i = 0; while (i < 10) { System.out.println("This is example 3."); } d) int i = 1; while (i < 10) { System.out.println("This is example 4."); i++;
B
89) Is the following code snippet legal? boolean b = false; do { System.out.println("Do you think in Java?"); } while (b != b); a) Yes, it is legal but does not print anything. b) Yes, it is legal and prints "Do you think in Java?" once. c) Yes, it is legal and prints "Do you think in Java?" twice. d) No, it is not legal and gives a compilation error.
B
95) What will be the output of the following code snippet? boolean token1 = true; while (token1) { for (int i = 0; i < 10; i++) { System.out.println("Hello"); } token1 = false; } a) No output. b) Hello will be displayed 10 times. c) Hello will be displayed 9 times. d) Hello will be displayed infinite times.
B
101) Is the code snippet written below legal? String s = "1234"; for (int i = 0; i <= 5; i++) { System.out.print(s.substring(i, i + 1)); } a) Yes. b) No; there should be a semicolon at the end of line 2. c) No; for i = 3, s.substring(i, i + 1) will result in an StringIndexOutOfBounds error. d) No; line 4 should have no semicolon at the end.
C
105) Which statement about this code snippet is accurate? int years = 50; double balance = 10000; double targetBalance = 20000; double rate = 3; for (int i = 1; i <= years; i++) { if (balance >= targetBalance) { i = years + 1; } else { double interest = balance * rate / 100; balance = balance + interest; } } a) The loop will run 50 times. b) The loop will never stop. c) The loop will run at most 50 times, but may stop earlier when balance exceeds or equals targetBalance. d) There is a compilation error.
C
42) What is the output of the following code fragment? int i = 1; int sum = 0; while (i <= 15) { sum = sum + i; i++; } System.out.println("The value of sum is " + sum); a) The value of sum is 0 b) The value of sum is 105 c) The value of sum is 120 d) The value of sum is 136
C
48) What is the output of the code snippet given below? String s = "abcdefghijkl"; int i = 1; do { if (i > 2) { System.out.print(s.substring (1, i)); } i++; } while (i < 5); a) abcd b) bcde c) bcbcd d) cdef
C
55) What is the output of this loop? int i = 0; boolean found; while (i < 20 && !found) { int sum = i * 2 + i * 3; System.out.print(sum + " "); if (sum > 50) { found = true; } i++; } a) 0 5 10 15 20 25 30 35 40 45 50 55 b) 0 c) No output, compilation error d) 0 5 10
C
68) What is the output of this code snippet? String str = "ABCabc"; char ch; int i = 0; while (i < str.length()) { ch = str.charAt(i); if (Character.isLowerCase(ch)) { System.out.print(i + " "); } else { i++; } } a) 3 4 5 b) 3 c) 3 3 3 3 3 ... (infinite loop) d) 0 1 2
C
73) Which of the following loop(s) should be used when you need to ask a user to enter one data item and repeat the prompt if the data is invalid? I. for loop II. while loop III. do loop a) I only b) I and II c) III only d) II only
C
74) Which of the loop(s) test the condition after the loop body executes? I. for loop II. while loop III. do loop a) I only b) II only c) III only d) II and III
C
86) What is the output of the following code snippet? int i = 1; while (i != 9) { System.out.print(i + " "); i++; if (i == 9) { System.out.println("End"); } } a) 1 End b) 1 End (infinite loop) c) 1 2 3 4 5 6 7 8 End d) 1 2 3 4 5 6 7 8 End (infinite loop)
C
88) How many times is the text "Let's have fun with Java." printed when this code snippet is run? int i = 0; do { System.out.println("Let's have fun with Java."); i++; if (i % 2 == 0) { i = 10; } } while (i <= 10); a) 1 b) 2 c) 3 d) 10
C
97) How many times does the following loop run? int i = 0; int j = 1; do { System.out.println("" + i + ";" + j); i++; if (i % 3 == 0) { j--; } } while (j >= 1); a) 1 time b) 2 times c) 3 times d) 4 times
C
100) What is the output of the code snippet given below? String s = "aeiou"; int i = 0; do { System.out.print(s.substring(i, i + 1)); i++; if (i >= 3) { i = 5; } } while (i < 5); a) a b) ae c) aeiou d) aei
D
102) What is the output of the code snippet given below? int i = 0; while (i != 11) { System.out.print(i + " "); i = i + 3; } a) No output b) 0 3 6 9 12 15 18 c) 0 1 3 5 7 9 d) 0 3 6 9 .... (infinite loop)
D
103) What is the last output line of the code snippet given below? int i = 5; while (i >= 1) { int num = 1; for (int j = 1; j <= i; j++) { System.out.print(num + "**"); num = num * 2; } System.out.println(); i = i - 1; } a) No output b) 1**2 c) 1**2**3 d) 1**
D
107) When will the loop in the following code snippet stop? java.util.Scanner in = new java.util.Scanner(System.in); double sum = 0; int count = 0; System.out.print("Enter values, Q to quit: "); do { double value = in.nextDouble(); sum = sum + value; count++; System.out.print("Enter values, Q to quit: "); } while (in.hasNextDouble() && count < 100); I. When the user enters an integer II. When the user enters an alphabetic character III. After the user enters 100 numbers a) I or II b) II only c) III only d) II or III
D
47) Insert a statement that will correctly terminate this loop when the end of input is reached. boolean done = false; while (!done) { String input = in.next(); if (input.equalsIgnoreCase("Q")) { __________ } else { double x = Double.parseDouble(input); data.add(x); } } a) stop; b) done = 1; c) exit; d) done = true;
D
49) What is the output of this code snippet if the user enters the numbers 1 2 3 4 -1 5? double total = 0; boolean hasValidNumber = true; Scanner in = new Scanner(System.in); while (in.hasNextDouble() && hasValidNumber) { double input = in.nextDouble(); if (input < 0) { hasValidNumber = false; } else { total = total + input; } } System.out.println(total); a) 15.0 b) 14.0 c) 12.0 d) 10.0
D
65) Which of the following statements expresses why the following code is considered bad form? for (rate = 5; years-- > 0; System.out.println(balance)) . . . I. Unrelated expressions in loop header II. Doesn't match expected for loop idiom III. Loop iteration is not clear a) II and III only b) I and II only c) I and III only d) I, II, and III
D
77. When hand-tracing a portion of code, which statement about Boolean conditions is true? a) They typically are too complex to be evaluated. b) They do not need to be monitored because their result usually is not stored in a variable. c) It is rare to encounter a Boolean condition. d) They are crucial to evaluate since they determine if-statement conditions and looping.
D
79. The process of hand-tracing code is valuable because a) It is usually faster than just running the code. b) It is the best way to design an algorithm. c) You must already have a working program in order to do it. d) It gives valuable insight that you do not get by running the code.
D
87) What changes do you need to make in the following code snippet to display "Let us learn Java" exactly 10 times? int i = 0; while (i <= 10) { System.out.println("Let us learn Java"); i++; } a) while (i < 9) b) while (i < 11) c) while (i < 12) d) int i = 1;
D
93) Which of the following statements is correct about a sentinel? a) A sentinel is a value that creates a bridge between a data set and unrelated input. b) A sentinel is a value that is part of the data to be processed by the program. c) A sentinel is a value that terminates a program. d) A sentinel is a value that indicates the end of an input sequence.
D
96) What is the output of the code snippet given below? int i = 0; while (i != 11) { System.out.print(" " + i); i = i + 2; } a) No output b) 0 2 4 6 8 c) 10 12 14 16 18 .... (infinite loop) d) 0 2 4 6 8 10 12 14 .... (infinite loop)
D
99) Which of the following code snippets will generate a random number between 0 and 79? a) int val = (int) Math.random() % 80; b) int val = (int) Math.random() * 80 - 1; c) int val = (int) Math.random() % 79; d) int val = (int) Math.random() * 80;
D