Assertions
Category: Assertions
Author: Benson Limketkai
Book Chapter: 5.5
Problem: Assertions
For each of the five points labeled by comments, identify each of the following assertions as being either always true, never true or sometimes true / sometimes false.
public static int mystery(int x) {
Scanner console = new Scanner(System.in);
System.out.print("Enter a number GREATER than " + x + ": ");
int y = console.nextInt();
y = y * 2;
<span class="assertionpoint">// Point A
while (y > x) {
<span class="assertionpoint">// Point B
if (x % 2 == 1) {
<span class="assertionpoint">// Point C
x++;
y--;
} else if (y % 2 == 0) {
y /= 2;
} else {
y++;
x = x - 2;
<span class="assertionpoint">// Point D
}
}
<span class="assertionpoint">// Point E
return x;
}
1) x % 2 == 0
2) y > x
3) y % 2 == 0