jeudi 12 juillet 2018

Program still executes when array length is greater than 5

I'm working on a small extra credit assignment for class. Basically, the user inputs 5 numbers and then an average is given. I have an if statement to check if the array length is more than 5, and if it is, to shutdown the program.

However, the program seems to execute with the first five given numbers instead of stopping. I'm not sure what I'm overlooking

public static double[] getNumbers() {
    Scanner input = new Scanner(System.in);
    double[] numbers = new double[5];
    System.out.print("Enter integers: ");
    for (int i = 0; i < 5; ++i) {

        numbers[i] = input.nextDouble();

        if (numbers[i] == 999) {
            System.exit(0);

        }
    }
    return numbers;
}

public static double[] getAverage(double[] numbers) {

    double[] total = new double[1];
    double[] average = new double[1];

    for (int i = 0; i < 5; ++i) {
        total[0] = total[0] + numbers[i];

    }

    average[0] = total[0] / numbers.length;
    return average;

}

public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    double[] numbers;
    double average = 0;

    while (true) {
        System.out.println("Enter 5 integers, for example: 10 20 50 84 73");
        numbers = getNumbers();
        if (numbers.length > 5) {
            System.exit(0);
        }
        average = numbers[0];
        System.out.println("Average is: " + average);

    }
}

}

Aucun commentaire:

Enregistrer un commentaire