Ваш код написан отлично, за исключением того, что вы неправильно вычислили среднее значение,
Если вы хотите вычислить среднее значение на лету, вам нужно будет знать, сколько цифр вы прочитали до сих пор.
например:
Scanner input = new Scanner(System.in);
System.out.println("Input numbers, 0 for stop!");
int number = input.nextInt();
int average = number;
int counter = 1;
while (number != 0) {
average= (average * number + number) / (counter + 1);
counter++;
number = input.nextInt();
}
System.out.println("Average is: " + average);
этот код даст вам среднее значение после каждого шага.
Другой (более простое решение):
Scanner input = new Scanner(System.in);
System.out.println("Input numbers, 0 for stop!");
int number = input.nextInt();
double sum = 0;
int counter = 0;
while (number != 0) {
sum += number;
counter++;
number = input.nextInt();
}
System.out.println("Average is: " + sum/counter);