APCS CH 6 Review

Réussis tes devoirs et examens dès maintenant avec Quizwiz!

111) A loop inside another loop is called: a) A sentinel loop b) A nested loop c) A parallel loop d) A do/while loop

b) A nested loop

20) What output does this while loop generate? j = 6; while (j > 0) { System.out.print(j + ", "); j--; } A) No output is generated. B) 6, 5, 4, 3, 2, 1 C) 6, 5, 4, 3, 2, 1, D) The output is infinite.

C) 6, 5, 4, 3, 2, 1,

10) 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

b) The value of sum is 66

29) 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) The variables i and sum

24) 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) 1 2 3 4 5 6 7 8 End

34) 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

c) 13

12) 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

c) 15 times

120) What will be the range of the random numbers generated by the following code snippet? Random generator = new Random(); int r1 = generator.nextInt(50) + 1; a) Between 1 and 49 b) Between 0 and 50 c) Between 0 and 49 d) Between 1 and 50

d) Between 1 and 50

13) 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

d) bcde

97) 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) Hello will be displayed 10 times.

76) 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) I and II only

54) What will be printed by the statements below? for (int ctr = 10; ctr > 5; ctr--) { System.out.print (ctr + " "); } a)10 9 8 7 6 5 b)10 9 8 7 6 c)5 6 7 8 9 10 d)6 7 8 9 10

b)10 9 8 7 6

8) 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

c) Run-time error

1) 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

d) 10

123) What does the following code do? int sum = 0; final double count = 1000; Random generator = new Random(); for (int i = 1; i <= count; i++) { sum = sum + generator.nextInt(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) It calculates the average of 1000 random numbers between 0 and 100.

11) 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.

d) "Inside the while loop" will be displayed only once.

2) 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)

d) 0 2 4 6 8 10 12 14 .... (infinite loop)

26) 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) 0 2 4 6 8 10 12 14 .... (infinite loop)

82) 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) 1**

14) 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

d) 2345

74) 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) double x = 0; double s = 1; for (int k = 1; s > 0.01; k++) { s = 1.0 / (k * k); x = x + s; }

55) Which of the following loops will print the odd numbers between 0 and 20? a) int num = 1; while (num < 20) { System.out.print (num + " "); num += 2; } b) int num = 1; while (num < 20) { System.out.print (num + " "); num ++; } c) int num = 0; while (num < 20) { System.out.print (num + " "); num += 2; } d) int num = 1; while (num < 20) { num += 2; System.out.print (num + " "); }

a) int num = 1; while (num < 20) { System.out.print (num + " "); num += 2; }

41) 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) 100

38) 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

c) for

78) 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) 3

91) 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) for (int i = 1; i <= 10; i++)

25) 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) int i = 1;

83) 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) 2 4 7 11 16 22

30. 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) The value stored there has changed to something new

122) What is the data type of the number generated by the Random.nextDouble() method? a) double b) float c) int d) String

a) double

37) 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) for (i = 1; i != n; i++)

62) What for loop can be used in the indicated area so the code will print: **** *** ** * for (int val = 0; val < 4; val ++) { System.out.print ("+"); // Put for loop here { System.out.print ("*"); } System.out.println (); } a) for (int num = 0; num < 4 - val; num++) b)for (int num = 0; num < val; num++) c)for (int num = 4; num < val; num++) d)for (int num = 4; num > 0; num--)

a) for (int num = 0; num < 4 - val; num++)

46) 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) for(i = 1; i != n; i++)

7) 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

a) i = 1951, j = 0

65) Assume the following variable has been declared and given a value as shown: Random rand = new Random(); double number = rand.nextDouble () * 2 + 3; What are the smallest and largest values number may be assigned? a)3.0, 5.0 b)0.0, 6.0 c)-3.0, 3.0 d)0.0, 3.0

a)3.0, 5.0

88) 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.

b) "Hello" will be displayed only once.

40) 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 55 c) 0 1 4 6 8 10 12 14 16 18 d) 0 1 6 7 9 12 14 17 19 21

b) 0 1 1 2 3 5 8 13 21 34 55

16) 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

b) 1 3 5 7 9 11 13 19

5) 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

b) 1 3 9

39) 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

b) 20, 14, 8, 2, -4

71) 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

b) No output (infinite loop)

85) 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.

b) The Average Salary: 30

22) 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) The code fragment will continue to display the calculated interest forever because the loop will never end.

17) 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) i = 351, j = 0

109) Which of the following conditions can be added to the code below so it will loop until the user enters "no" or "NO"? Scanner in = new Scanner (System.in); System.out.print ("Continue? "); String response = in.next(); while (/* put condition here */) { System.out.println ("Hello beautiful!"); System.out.print ("Continue? "); response = in.next(); } a)response.equals("no") != response.equals("NO") b)!(response.equals("no") || response.equals("NO")) c)!response.equals("no") || !response.equals("NO") d)!(response.equals("no") && response.equals("NO"))

b)!(response.equals("no") || response.equals("NO"))

57) Which of the following conditions can be added to the code below so it will loop until the value of sum is greater than 100? Scanner in = new Scanner (System.in); int sum = 0; do { sum += in.nextInt(); } while (/* put condition here */) a)sum != 0 b)sum <= 100 c)sum > 100 d)sum == 100

b)sum <= 100

69) 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

c) 3

47) 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 = 4, s.substring(i, i + 1) will result in an StringIndexOutOfBounds error. d) No; line 4 should have no semicolon at the end.

c) No; for i = 4, s.substring(i, i + 1) will result in an StringIndexOutOfBounds error.

58) What does the following loop compute? Scanner in = new Scanner (System.in); int sum = 0; int count = 0; while (in.hasNextInt()) { int value = in.nextInt(); if (value > 0) { sum += value; count++; } } double result = (sum * 1.0)/count; a)The average of all the integers in the input b)The sum of all the positive integers in the input divided by the number of integers in the input c) The average of all the positive integers in the input d)The second smallest value in the input

c) The average of all the positive integers in the input

70) 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

c) c <= 'Z'

93) 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) while (in.hasNextDouble());

60) What is the output of the code below? for (int val = 0; val < 4; val ++) { System.out.print ("+"); for (int num = 0; num < val; num++) { System.out.print ("0"); } } a)+0+00+000+0000 b)+000+000+000+000 c)++0+00+000 d)++++000000

c)++0+00+000

61) What is the output of the code below? for (int val = 0; val < 4; val ++) { int sum = val; for (int num = 0; num < val; num++) { sum = sum + num; } System.out.print (sum + " "); } a)0 1 3 6 b)0 1 4 10 c)0 2 5 9 d)0 2 7 16

c)0 2 5 9

51) What will be printed by the statements below? int val = 1; int sum = 0; while (val < 5) { sum = sum + val; val++; } System.out.print (sum); a)4 b)5 c)10 d)15

c)10

108) Which of the following loops will print the odd numbers between 0 and 20? a)for (int num = 1; num < 20; num++) { System.out.print (num % 2 + " "); } b)for (int num = 0; num < 20; num+= 2) { System.out.print (num + " "); } c)for (int num = 1; num < 20; num+= 2) { System.out.print (num + " "); } d)for (int num = 0; num < 20; num+= 2) { if (num % 2 == 1) System.out.print (num + " "); }

c)for (int num = 1; num < 20; num+= 2) { System.out.print (num + " "); }

84) 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

d) -1

27) 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) 0 3 6 9 .... (infinite loop)

92) 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) An alphabetic character

44) 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) An infinite number of times

33. 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) It gives valuable insight that you do not get by running the code.

96) 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) The loop will execute at least once even if the user has entered the sentinel value.

89) 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) done = true;

128) Which of the following code snippets will generate a random number between 0 (inclusive) and 79 (inclusive)? (Assume Random generator = new Random();) a) int val = generator.nextInt(79) + 1; b) int val = generator.nextInt(80) - 1; c) int val = generator.nextInt(79); d) int val = generator.nextInt(80);

d) int val = generator.nextInt(80);

4) 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

d) j=14

19) 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) r = 16.0 b) r = 128.0 c) r = 4096.0 d) r = 65536.0

d) r = 65536.0

110) For which input values will the following loop not correctly compute the maximum of the values? Scanner in = new Scanner (System.in); int max = 0; while (in.hasNextInt()) { int value = in.nextInt(); if (value > max) { max = value; } } a)3 3 3 3 b)0 1 2 9 107 c)107 2 9 -3 d)-4 -2 -10 -7

d)-4 -2 -10 -7

50) What will be printed by the statements below? int a = 10; while (a > 5) { a = a - 2; System.out.print (a + " "); } a)10 8 6 b)10 8 6 4 c)8 6 d)8 6 4

d)8 6 4

63) Assume the following variable has been declared and given a value as shown: Random rand = new Random(); Which of the following will generate a random integer in the range - 20 to 20, inclusive, where each value has an equal chance of being generated? a)rand.nextInt (-20, 20) b)rand.nextInt(20) - 41 c)rand.nextInt (-20) + 40 d)rand.nextInt(41) - 20

d)rand.nextInt(41) - 20


Ensembles d'études connexes

Compensation Administration - Chapter 9

View Set

Social Change: Chapter 4- New Technologies and Innovations

View Set

Microbiology, Chapter 12, Flash Cards

View Set