public class Assertions1 { public static void foo(int x) { Scanner console = new Scanner(System.in); System.out.print("You must type a value > 0: "); int val = console.nextInt(); int z = 0; // Point A while (val > 0) { // Point B z += val; if (x > 0) { val--; } else { z -= val; x = -1 * x + 1; // Point C } // Point D } // Point E } } /* SOLUTION: x > 0 z == 0 val > 0 Point A S A S Point B S S A Point C A A* A Point D A S S Point E S S N * This was an error in lecture. The correct answer is Always, because the only time that you could go into the else is the first time through the loop, in which case z was val before the else, and gets reset to 0 inside the else. */