The completed program is given below.
Here is the completed program. Notice how the loop condition always has a "fresh" value to test. To make this happen, the first value needs to be input before the loop starts. The remaining values are input at the bottom of the loop body.
import java.io.*; // Add up all the integers that the user enters. // After the last integer to be added, the user will enter a 0. // class addUpNumbers { public static void main (String[] args ) throws IOException { BufferedReader userin = new BufferedReader (new InputStreamReader(System.in)); String inputData; int value; // data entered by the user int sum = 0; // initialize the sum // get the first value System.out.println( "Enter first integer (enter 0 to quit):" ); inputData = userin.readLine(); value = Integer.parseInt( inputData ); // "fresh" value, // about to be tested while ( value != 0 ) { //add value to sum sum = sum + value; //get the next value from the user System.out.println( "Enter next integer (enter 0 to quit):" ); inputData = userin.readLine(); value = Integer.parseInt( inputData ); // "fresh" value, // about to be tested } System.out.println( "Sum of the integers: " + sum ); } }