Introduction to Java Programming, AP Version,
Y. Daniel Liang
This quiz is for students to practice. A large number of additional quiz is available for instructors from the Instructor's Resource Website.
Chapter 5 Loops
Section 5.2 The while Loop
5.1
How many times will the following code print "Welcome to Java"?
int
count =
0
;
while
(count <
10
) {
System.out.println(
"Welcome to Java"
);
count++;
}
A.
8
B.
9
C.
10
D.
11
E.
0
5.2
Analyze the following code.
int
count =
0
;
while
(count <
100
) {
// Point A
System.out.println(
"Welcome to Java!"
);
count++;
// Point B
}
// Point C
A.
count < 100 is always true at Point A
B.
count < 100 is always true at Point B
C.
count < 100 is always false at Point B
D.
count < 100 is always true at Point C
E.
count < 100 is always false at Point C
5.3
How many times will the following code print "Welcome to Java"?
int
count =
0
;
while
(count++ <
10
) {
System.out.println(
"Welcome to Java"
);
}
A.
8
B.
9
C.
10
D.
11
E.
0
Section 5.3 The do-while Loop
5.4
How many times will the following code print "Welcome to Java"?
int
count =
0
;
do
{
System.out.println(
"Welcome to Java"
);
count++;
}
while
(count <
10
);
A.
8
B.
9
C.
10
D.
11
E.
0
5.5
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.
8
B.
9
C.
10
D.
11
E.
0
5.6
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.
8
B.
9
C.
10
D.
11
E.
0
5.7
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.
8
B.
9
C.
10
D.
11
E.
0
Section 5.4 The for Loop
5.8
Analyze the following statement:
double
sum =
0
;
for
(
double
d =
0
; d <
10
;) {
d +=
0
.
1
;
sum += sum + d;
}
A.
The program has a compile error because the adjustment is missing in the for loop.
B.
The program has a compile error because the control variable in the for loop cannot be of the double type.
C.
The program runs in an infinite loop because d < 10 would always be true.
D.
The program compiles and runs fine.
5.9
Which of the following loops prints "Welcome to Java" 10 times?
A:
for
(
int
count =
1
; count <=
10
; count++) {
System.out.println(
"Welcome to Java"
);
}
B:
for
(
int
count =
0
; count <
10
; count++) {
System.out.println(
"Welcome to Java"
);
}
C:
for
(
int
count =
1
; count <
10
; count++) {
System.out.println(
"Welcome to Java"
);
}
D:
for
(
int
count =
0
; count <=
10
; count++) {
System.out.println(
"Welcome to Java"
);
}
A.
BD
B.
ABC
C.
AC
D.
BC
E.
AB
5.10
Which of the following loops correctly computes 1/2 + 2/3 + 3/4 + ... + 99/100?
A:
double
sum =
0
;
for
(
int
i =
1
; i <=
99
; i++) {
sum = i / (i +
1
);
}
System.out.println(
"Sum is "
+ sum);
B:
double
sum =
0
;
for
(
int
i =
1
; i <
99
; i++) {
sum += i / (i +
1
);
}
System.out.println(
"Sum is "
+ sum);
C:
double
sum =
0
;
for
(
int
i =
1
; i <=
99
; i++) {
sum +=
1
.
0
* i / (i +
1
);
}
System.out.println(
"Sum is "
+ sum);
D:
double
sum =
0
;
for
(
int
i =
1
; i <=
99
; i++) {
sum += i / (i +
1
.
0
);
}
System.out.println(
"Sum is "
+ sum);
E:
double
sum =
0
;
for
(
int
i =
1
; i <
99
; i++) {
sum += i / (i +
1
.
0
);
}
System.out.println(
"Sum is "
+ sum);
A.
BCD
B.
ABCD
C.
B
D.
CDE
E.
CD
5.11
The following loop displays _______________.
for
(
int
i =
1
; i <=
10
; i++) {
System.out.print(i +
" "
);
i++;
}
The correct answer is D.
A.
1 2 3 4 5 6 7 8 9
B.
1 2 3 4 5 6 7 8 9 10
C.
1 2 3 4 5
D.
1 3 5 7 9
E.
2 4 6 8 10
5.12
Do the following two statements in (I) and (II) result in the same value in sum?
(I):
for
(
int
i =
0
; i <
10
; ++i) {
sum += i;
}
(II):
for
(
int
i =
0
; i <
10
; i++) {
sum += i;
}
A.
Yes
B.
No
5.13
What is the output for y?
int
y =
0
;
for
(
int
i =
0
; i <
10
; ++i) {
y += i;
}
System.out.println(y);
A.
10
B.
11
C.
12
D.
13
E.
45
5.14
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.
11
D.
undefined
5.15
Is the following loop correct?
for
( ; ; );
A.
Yes
B.
No
Section 5.5 Which Loop to Use?
5.16
Analyze the following fragment:
double
sum =
0
;
double
d =
0
;
while
(d !=
10
.
0
) {
d +=
0
.
1
;
sum += sum + d;
}
A.
The program does not compile because sum and d are declared double, but assigned with integer value 0.
B.
The program never stops because d is always 0.1 inside the loop.
C.
The program may not stop because of the phenomenon referred to as numerical inaccuracy for operating with floating-point numbers.
D.
After the loop, sum is 0 + 0.1 + 0.2 + 0.3 + ... + 1.9
5.17
Analyze the following code:
public
class
Test {
public
static
void
main (String args[]) {
int
i =
0
;
for
(i =
0
; i <
10
; i++);
System.out.println(i +
4
);
}
}
A.
The program has a compile error because of the semicolon (;) on the for loop line.
B.
The program compiles despite the semicolon (;) on the for loop line, and displays 4.
C.
The program compiles despite the semicolon (;) on the for loop line, and displays 14.
D.
The for loop in this program is same as for (i = 0; i < 10; i++) { }; System.out.println(i + 4);
Section 5.6 Nested Loops
5.18
How many times is the println statement executed?
for
(
int
i =
0
; i <
10
; i++)
for
(
int
j =
0
; j < i; j++)
System.out.println(i * j)
A.
100
B.
20
C.
10
D.
45
Section 5.7 Minimizing Numerical Errors
5.19
To add 0.01 + 0.02 + ... + 1.00, what order should you use to add the numbers to get better accuracy?
A.
add 0.01, 0.02, ..., 1.00 in this order to a sum variable whose initial value is 0.
B.
add 1.00, 0.99, 0.98, ..., 0.02, 0.01 in this order to a sum variable whose initial value is 0.
Section 5.9 Keywords break and continue
5.20
Will the following program terminate?
int
balance =
10
;
while
(
true
) {
if
(balance <
9
)
break
;
balance = balance -
9
;
}
A.
Yes
B.
No
5.21
What is sum after the following loop terminates?
int
sum =
0
;
int
item =
0
;
do
{
item++;
sum += item;
if
(sum >
4
)
break
;
}
while
(item <
5
);
A.
5
B.
6
C.
7
D.
8
E.
9
5.22
What is the output after the following loop terminates?
int
number =
25
;
int
i;
boolean
isPrime =
true
;
for
(i =
2
; i < number && isPrime; i++) {
if
(number % i ==
0
) {
isPrime =
false
;
}
}
System.out.println(
"i is "
+ i +
" isPrime is "
+ isPrime);
A.
i is 5 isPrime is true
B.
i is 5 isPrime is false
C.
i is 6 isPrime is true
D.
i is 6 isPrime is false
5.23
What is the output after the following loop terminates?
int
number =
25
;
int
i;
boolean
isPrime =
true
;
for
(i =
2
; i < number; i++) {
if
(number % i ==
0
) {
isPrime =
false
;
break
;
}
}
System.out.println(
"i is "
+ i +
" isPrime is "
+ isPrime);
A.
i is 5 isPrime is true
B.
i is 5 isPrime is false
C.
i is 6 isPrime is true
D.
i is 6 isPrime is false
5.24
What is sum after the following loop terminates?
int
sum =
0
;
int
item =
0
;
do
{
item++;
if
(sum >=
4
)
continue
;
sum += item;
}
while
(item <
5
);
A.
6
B.
7
C.
8
D.
9
E.
10
5.25
Will the following program terminate?
int
balance =
10
;
while
(
true
) {
if
(balance <
9
)
continue
;
balance = balance -
9
;
}
A.
Yes
B.
No
Sections 5.10-5.11
5.26
What is the number of iterations in the following loop?
for
(
int
i =
1
; i < n; i++) {
// iteration
}
A.
2*n
B.
n
C.
n - 1
D.
n + 1
5.27
What is the number of iterations in the following loop?
for
(
int
i =
1
; i <= n; i++) {
// iteration
}
A.
2*n
B.
n
C.
n - 1
D.
n + 1
5.28
Suppose the input for number is 9. What is the output from running the following program?
import
java.util.Scanner;
public
class
Test {
public
static
void
main(String[] args) {
Scanner input =
new
Scanner(System.in);
System.out.print(
"Enter an integer: "
);
int
number = input.nextInt();
int
i;
boolean
isPrime =
true
;
for
(i =
2
; i < number && isPrime; i++) {
if
(number % i ==
0
) {
isPrime =
false
;
}
}
System.out.println(
"i is "
+ i);
if
(isPrime)
System.out.println(number +
" is prime"
);
else
System.out.println(number +
" is not prime"
);
}
}
A.
i is 3 followed by 9 is prime
B.
i is 3 followed by 9 is not prime
C.
i is 4 followed by 9 is prime
D.
i is 4 followed by 9 is not prime
5.29
Analyze the following code:
import
java.util.Scanner;
public
class
Test {
public
static
void
main(String[] args) {
int
sum =
0
;
for
(
int
i =
0
; i <
100000
; i++) {
Scanner input =
new
Scanner(System.in);
sum += input.nextInt();
}
}
}
A.
The program does not compile because the Scanner input = new Scanner(System.in); statement is inside the loop.
B.
The program compiles, but does not run because the Scanner input = new Scanner(System.in); statement is inside the loop.
C.
The program compiles and runs, but it is not efficient and unnecessary to execute the Scanner input = new Scanner(System.in); statement inside the loop. You should move the statement before the loop.
D.
The program compiles, but does not run because there is not prompting message for entering the input.
Section: Extra Questions
5.30
What is the output of the following code?
int
x =
0
;
while
(x <
4
) {
x = x +
1
;
}
System.out.println(
"x is "
+ x);
A.
x is 0
B.
x is 1
C.
x is 2
D.
x is 3
E.
x is 4
5.31
What will be displayed when the following code is executed?
int
number =
6
;
while
(number >
0
) {
number -=
3
;
System.out.print(number +
" "
);
}
A.
6 3 0
B.
6 3
C.
3 0
D.
3 0 -3
E.
0 -3
5.32
Given the following four patterns,
Pattern A Pattern B Pattern C Pattern D
1
1
2
3
4
5
6
1
1
2
3
4
5
6
1
2
1
2
3
4
5
2
1
1
2
3
4
5
1
2
3
1
2
3
4
3
2
1
1
2
3
4
1
2
3
4
1
2
3
4
3
2
1
1
2
3
1
2
3
4
5
1
2
5
4
3
2
1
1
2
1
2
3
4
5
6
1
6
5
4
3
2
1
1
Which of the pattern is produced by the following code?
for
(
int
i =
1
; i <=
6
; i++) {
for
(
int
j =
6
; j >=
1
; j--)
System.out.print(j <= i ? j +
" "
:
" "
+
" "
);
System.out.println();
}
A.
Pattern A
B.
Pattern B
C.
Pattern C
D.
Pattern D
5.33
How many times is the println statement executed?
for
(
int
i =
0
; i <
10
; i++)
for
(
int
j =
0
; j <
10
; j++)
System.out.println(i * j);
A.
100
B.
20
C.
10
D.
45
5.34
Analyze the following code.
double
sum =
0
;
for
(
double
d =
0
; d <
10
; sum += sum + d) {
d +=
0
.
1
;
}
A.
The program has a syntax error because the adjustment statement is incorrect in the for loop.
B.
The program has a syntax error because the control variable in the for loop cannot be of the double type.
C.
The program compiles but does not stop because d would always be less than 10.
D.
The program compiles and runs fine.
5.35
What is y after the following for loop statement is executed?
int
y =
0
;
for
(
int
i =
0
; i <
10
; ++i) {
y +=
1
;
}
A.
9
B.
10
C.
11
D.
12
5.36
What balance after the following code is executed?
int
balance =
10
;
while
(balance >=
1
) {
if
(balance <
9
)
continue
;
balance = balance -
9
;
}
A.
-1
B.
0
C.
1
D.
2
E.
The loop does not end
5.37
What is the value of balance after the following code is executed?
int
balance =
10
;
while
(balance >=
1
) {
if
(balance <
9
)
break
;
balance = balance -
9
;
}
A.
-1
B.
0
C.
1
D.
2