/* EXPECTED OUTPUT: Type a number (-1 to quit): 10 Type a number (-1 to quit): 20 Type a number (-1 to quit): 30 Type a number (-1 to quit): 40 Type a number (-1 to quit): -1 Sum = 100 */ // This program demonstrates an error in our output that is caused // by a fencepost problem. // Can you see the error? How can we fix it? // (Corrected version is below in comments) public class CumulativeSum { // incorrect version public static void main(String[] args) { Scanner console = new Scanner(System.in); int sum = 0; int number = 0; while (number != -1) { System.out.print("Type a number (-1 to quit): "); number = console.nextInt(); sum += number; } System.out.println("Sum = " + sum); } /* correct version: public static void main(String[] args) { Scanner console = new Scanner(System.in); int sum = 0; System.out.print("Type a number (-1 to quit): "); int number = console.nextInt(); while (number != -1) { sum += number; System.out.print("Type a number (-1 to quit): "); number = console.nextInt(); } System.out.println("Sum = " + sum); } */ }