задачу уже решил, знаю как это сделать правильно. а вот почитав комменты, увидел, что ребята объявляют строку вводу и уже потом пользуются ею... еще.. вместо (true) сразу делают проверку на num != -1
public class Solution {
    public static void main(String[] args) throws Exception {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String sNum = reader.readLine();// объявил для удобства ввода, но поломалась вся логика
        double num = 0;// пришлось инициализировать, когда переписывал код под новые условия
        double sum = 0;
        int count = 0;
        while (num != -1) { // как не учитывать ее?
            num = Double.parseDouble(sNum);
            sum += num;
            count++;

        }
        System.out.println(sum/count);
        //напишите тут ваш код
    }
}
так вот у меня 2 проблемы. 1. если я обьявляю sNum то я вообще не могу выйти из while. хоть 5 раз ввожу -1, интелиджи их хавает, а прекращать цикл не хочет. если убираю строковую переменную, и парсю в дабл ридер, то выходит норм. для примера. при вводе 5 5 5 -1 -1 -1 не выходит из ввода 2. если я пишу num != -1 в while, то при выходе он учитывает ее в подсчете, если ставлю проверку ифом в начале то все норм. я подумал конечно о count-1 при подсчете, но вместе с 1 пунктом не работает даже выход из подсчета, чего уж там до правильности логики. дебажить пробовал всего 1 раз... там после parse почему-то бегает через 100500 классов... сколько ведешь цифр, столько раз и пробежит по этим 100500 классам( при нажатии step into,да и всех остальных тоже) 5 5 5 -1 выводит 3.5 что делать, что бы с таким контекстом задача заработала?