задачу уже решил, знаю как это сделать правильно.
а вот почитав комменты, увидел, что ребята объявляют строку вводу и уже потом пользуются ею...
еще.. вместо (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
что делать, что бы с таким контекстом задача заработала?