# LoopAlgorithms.java.html

`  1  import java.util.Scanner;`
`  2  `
`  3  /**`
`  4     This program combines several common loop algorithms. `
`  5  */`
`  6  public class LoopAlgorithms`
`  7  {`
`  8     public static void main(String[] args) `
`  9     {`
` 10        Scanner in = new Scanner(System.in);`
` 11  `
` 12        System.out.print("Enter input: ");`
` 13        int input = in.nextInt();`
` 14        int min = input; // The largest input`
` 15        int max = input; // The smallest input`
` 16  `
` 17        int count = 1; // The number of inputs`
` 18        int sum = input; // The sum of the inputs`
` 19  `
` 20        boolean foundNegative = false; // Set to true if we found at least one negative input`
` 21        int negatives; // The count of negative inputs`
` 22        int firstNegative = 0; // The position of the first negative input`
` 23  `
` 24        if (input < 0)`
` 25        {`
` 26           foundNegative = true;`
` 27           firstNegative = 1;`
` 28           negatives = 1;`
` 29        }`
` 30        else`
` 31        {`
` 32           negatives = 0;`
` 33        }`
` 34  `
` 35        boolean done = false;`
` 36        while (!done)`
` 37        {`
` 38           System.out.print("Enter input, 0 to quit: ");`
` 39           input = in.nextInt();`
` 40           if (input == 0) // Zero is the sentinel value`
` 41           {`
` 42              done = true;`
` 43           }`
` 44           else `
` 45           {`
` 46              sum = sum + input; // Computing sum and average`
` 47              count++;`
` 48  `
` 49              if (input < min) // Determining minimum and maximum`
` 50              {`
` 51                 min = input;`
` 52              }`
` 53              else if (input > max)`
` 54              {`
` 55                 max = input;`
` 56              }`
` 57  `
` 58              if (input < 0) // Counting matches`
` 59              {`
` 60                 negatives++;`
` 61  `
` 62                 if (!foundNegative) // Finding first match`
` 63                 {`
` 64                    foundNegative = true;`
` 65                    firstNegative = count;`
` 66                 }`
` 67              }`
` 68           }`
` 69        }   `
` 70        System.out.println("Minimum: " + min);`
` 71        System.out.println("Maximum: " + max);`
` 72        System.out.println("Sum: " + sum);`
` 73        System.out.println("Average: " + sum * 1.0 / count);`
` 74        System.out.println("Negative values: " + negatives);`
` 75        if (foundNegative)`
` 76        {`
` 77           System.out.println("First negative: " + firstNegative);`
` 78        }`
` 79     }`
` 80  }`