Por que meu “While Loop” não imprime o cálculo de encontrar a “pontuação” média?

Eu estou escrevendo um programa que lê uma seqüência de inteiros positivos inseridos pelo usuário. O usuário só inserirá um inteiro de cada vez. Então, calculará a média desses inteiros. O programa terminará quando o usuário digitar 0. (0 não é contado na média). O programa imprimirá a média quando o programa terminar.

Pergunta: Meu código pára de funcionar quando chego ao loop while, portanto, ele não calcula a entrada por usuário, portanto, imprime nada. Por que o meu loop while não calcula a média das entradas do usuário?Aprecie sua orientação :)

import java.util.Scanner;

public class AverageOfIntegers {

    public static void main(String[] args) {

        int integer;
        double sum;
        sum = 0;
        double average;
        Scanner input = new Scanner(System.in);
        int count; count = 0; 
        average = 0;


        System.out.println("Please enter an integer: ");

        integer = input.nextInt();


        while (integer != 0) {
        count = count + 1;  

            sum = sum + integer; 

            average = sum / count;

        }

        System.out.println("Average = " + average);

    }

}

questionAnswers(5)

yourAnswerToTheQuestion