## CPSC 124, Spring 2021: Sample Answers to Quiz #3

Question 1. Show the exact output from the following code segment:

```    int a, b;
a = 4;
b = 1;
while ( b <= 5 ) {
b = b + 1;
if ( b > 3 ) {
a = a / 3;
} else {
a = a * 2;
}
}
System.out.println(a + "," + b);
```

Answer. The answer to the problem as written is: 0,6. There is only one line of output, because the System.out.println statement comes after the while loop. I meant the output statement to be inside the while loop, and in that case, the answer would be:

```      8,2
16,3
5,4
1,5
0,6
```

To see why, you have to execute the code step by step as the computer would do it, keeping track of the values of a and b. Here is how the values change as the loop runs:

```      a:  4  8  16  5  1  0
b:  1  2   3  4  5  6
```

Note that when doing integer division, 16/5 gives 3, 5/3 gives 1, and 1/3 gives 0. The last time through the loop, b becomes six and the test in the loop becomes false, so the loop ends.

Question 2. Briefly explain the meaning of each of the following Java operators:

```          a)   %
b)   &&
c)   ++
```

a) % is the remainder operator. If x and y are numbers, then `x%y` is the remainder when x is divided by y.

b) && is the boolean operator that means "and". It is used to combine boolean values, such as  `(x >= 3) && (x < 10)`

c) ++ is an operator that acts on a numeric variable by adding one to its value. The statement `x++;` has the same effect as `x=x+1;` (Note that `x++` is also an expression, and its value is the old value of x, not the new value.)

Question 3. Fill in the following program so that it does the following: Simulate flipping a coin seven (7) times. When the coin shows heads, print out "Heads"; when the coin shows tails, print out "Tails". A sample output from the program is shown at the right.

```public class Flips {                                          Heads
public static void main(String[] args) {                  Tails
.                                                     Tails
.                                                     Tails
}                                                         Tails
}
```

```public class Flips {
public static void main(String[] args) {

int flips; // Number of times coin has been flipped.
flips = 0;
while (flips < 7) {
if ( Math.random() < 0.5 ) {