/******************************************************** 
  * Accumulator.java is a mini example showing the use of
  * an accumulator within loops.
  *
  * @author Nancy Harris
  * @version V1 - 10/19/2008
  *******************************************************/
public class Accumulator
{
	/* main method runs through the 3 loop types
	 *
	 * @param args Unused in this application
	 */
	public static void main(String args[])
	{  
		final int HI_VAL = 10;
		final int LO_VAL = 1;
		
		int sum;			// will store sum from LO_VAL to HI_VAL
		int counter; 	// loop control variable
		
		// in any accumulator it is important to initialize
		// the accumulator outside of the loop.
		
		// WHILE loop
		sum = 0;
		counter = LO_VAL;
		
		while (counter <= HI_VAL)
		{
			sum = sum + counter;
			counter++;
		}
		
		System.out.println("While loop sum: " + sum);
		
		// DO loop - reinitialize all values
		sum = 0;
		counter = LO_VAL;
		
		do
		{
			sum = sum + counter;
			counter++;
		} while (counter <= HI_VAL);
		
		System.out.println("\nDo While loop sum: " + sum);
		
		// FOR loop - reinitialize all values
		// NOTE: the initialization and update are done
		// inside of the for loop header
		sum = 0; 
		
		for (counter = LO_VAL; counter <= HI_VAL; counter++)
		{
			sum = sum + counter;
		}
		
		System.out.println("\nFor loop sum: " + sum);
	}
}
		
		
		