counting loopUses a loop control variable to count upwards or downwards (usually by an integer increment).
sentinel-controlled loopLoop keeps going until a special value is encountered in the data.
result-controlled loopLoop keeps going until a test determines that the desired result has been achieved.

Three Techniques for File Input

Input from a file is usually done inside a loop that looks like this:

while ( .....  )
  data = scan.nextInt();


Other than the input statement in its body, this is an ordinary loop. Depending on the details of how it is implemented, it can be any of the three types of loops. Here is how the three types of loops are used for input loops:

counting loopIncrement a counter after each value is read.
Stop when the correct number of values have been read.
sentinel-controlled loopRead in values until reaching a special value.
result-controlled loopRead in values until a desired result has been achieved.

The most common input loops are the first two.


Here is a typical file input problem:

Write a program to add up all the integers in a file except for the first integer in the file which says how many integers follow.

What type of loop is used for this?