Ok friends, I am trying to figure out why "-1" (my exit value) is compared and becomes my lowest grade and why "100" is not my highest grade. I'm sure they are simple reasons, but I don't see them.

sample input and output is the following:

Welcome to Grader-ator!

Enter a grade from 0 to 100, or enter a negative number to quit.
100

Enter a grade from 0 to 100, or enter a negative number to quit.
90

Enter a grade from 0 to 100, or enter a negative number to quit.
80

Enter a grade from 0 to 100, or enter a negative number to quit.
70

Enter a grade from 0 to 100, or enter a negative number to quit.
-1

Total sum of grades: 340

Total Number of Grades is: 4

Number of A's: 2

Number of B's: 1

Number of C's: 1

Number of D's: 0

Number of F's: 0

Highest Grade: 90

Lowest Grade: -1

Average Grade: 85.0

***CODE STARTS HERE***

```
import java.util.Scanner;

public class Lab7 
{

    /**
     * author: Nate Fuller
     * date: 9 Feb 17
     * This program takes in any number of grades and performs some calculations
     */

    public static int grade, totalNumOfGrades, totalSumOfGrades, highestGrade, lowestGrade,
    numberOf_As, numberOf_Bs, numberOf_Cs, numberOf_Ds, numberOf_Fs,
    oldGrade, newGrade;
    public static double averageGrade;
    static Scanner kb = new Scanner(System.in);

    public static void main(String[] args) 
    {
        System.out.println("Welcome to Grader-ator!");
        System.out.println("Enter a grade from 0 to 100, " +
                "or enter a negative number to quit.");

        totalSumOfGrades = 0;

        grade = kb.nextInt();
        while(grade >= 0)
        {
            System.out.println("Enter a grade from 0 to 100, " +
                    "or enter a negative number to quit.");

            determineGrade();
        }
        printGrades();
    }

    public static void determineGrade()
    {
        //A
        if(grade >= 90 && grade <= 100)
        {
            numberOf_As++;
            increment();
            compare();
        }
        //B
        else if(grade >= 80 && grade <= 89)
        {
            numberOf_Bs++;
            increment();
            compare();
        }
        //C
        else if(grade >= 70 && grade <= 79)
        {
            numberOf_Cs++;
            increment();
            compare();
        }
        //D
        else if(grade >= 60 && grade <= 69)
        {
            numberOf_Ds++;
            increment();
            compare();
        }
        //F
        else if(grade >= 0 && grade <= 59)
        {
            numberOf_Fs++;
            increment();
            compare();
        }
        else
        {
            System.out.println("Please enter a number between 0 and 100.");
            grade = kb.nextInt(); 
        }

    }

    public static void increment()
    {
        totalNumOfGrades++;
        totalSumOfGrades += grade;
        grade = kb.nextInt();
    }

    public static void compare()
    {
        newGrade = grade;
        if(newGrade > oldGrade)
        {
            highestGrade = newGrade;
        }
        else if(newGrade <= oldGrade)
        {
            lowestGrade = newGrade;
        }
        oldGrade = newGrade;
    }

    public static void printGrades()
    {
        //Calculations
        averageGrade = totalSumOfGrades/totalNumOfGrades;

        System.out.println("Total sum of grades: " + totalSumOfGrades);
        System.out.println("Total Number of Grades is: " + totalNumOfGrades);
        System.out.println("Number of A's: " + numberOf_As);
        System.out.println("Number of B's: " + numberOf_Bs);
        System.out.println("Number of C's: " + numberOf_Cs);
        System.out.println("Number of D's: " + numberOf_Ds);
        System.out.println("Number of F's: " + numberOf_Fs);
        System.out.println("Highest Grade: " + highestGrade);
        System.out.println("Lowest Grade: " + lowestGrade);
        System.out.println("Average Grade: " + averageGrade);
    }
}

```