Can I get an explanation to understand this better: I can see that this is working :
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        int sum = 0;
        int counter = 0;
        double mean;
        for (; true; counter++) {
            String input = reader.readLine();
            if (input.equals("-1"))
                break;
            int numbers = Integer.parseInt(input);
            sum += numbers;
        }
        mean = (double) sum / counter;
        System.out.println(mean);
And this isn't :
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Solution {
    public static void main(String[] args) throws Exception {
        //write your code here
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        int avg = 0;
        double sum;
        double mean =0 ;
    while (true){
          int number = Integer.parseInt(reader.readLine());
          sum=+number;
                if ( number== -1){
                    break;
                }
        avg++;
        mean = (sum/avg);
    }
        System.out.println(mean);
    }
}