Перед тем, как вы прочитаете мой вопрос: хочу сказать, что это бредовый пример и вопрос, но один из программистов который работает уже более 8 лет сказал мне: "не стесняйся задавать бредовые вопросы" ибо если ты не задаешь глупых вопросов то тебе либо ничего не понятно, либо ты и правда хочешь узнать почему это так работает, а почему то по-другому. Вопрос знатокам Сначала я решал задачу по примеру №1, затем узнал про count (который считает количество вводимых чисел) и решил задачу по примеру №2. Но в обоих примерах разные результаты (правильно только в примере №2). Вопрос: Почему? Пример №1:
public static void main(String[] args) throws Exception {
        //напишите тут ваш код
      BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

      double sum = 0;

      while (true){
        int n = Integer.parseInt(reader.readLine());
        if(n == -1){
          break;
        }
        sum = sum + n; //считаем сумму всех чисел
        sum = sum / n; //тут вроде как оно делит на сумму n, а не на кол-во вводимых чисел
      }
      System.out.println(sum); //выводим делимую сумму
    }
при вводе чисел 4 3 2 1 -1 Вывод на экран:
2.6666666666666665
Пример №2
public static void main(String[] args) throws Exception {
        //напишите тут ваш код
      BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

      double sum = 0;
      int count = 0;

      while (true){
        int n = Integer.parseInt(reader.readLine());
        if(n == -1){
          break;
        }
        sum = sum + n; //считаем сумму всех чисел
        count++; //увеличиваем кол-во вводимых чисел на 1
      }
      System.out.println(sum / count); //делим сумму чисел на кол-во вводимых чисел
    }
при вводе чисел 4 3 2 1 -1 Вывод на экран:
2.5
Как видите результаты разные, в примере №1 результат больше на 0,1 от примера №2. Ведь по сути примеры аналогичны друг другу. Тот кто вник в это, буду рад объяснения, спасибо!