public class Solution {
public static void main(String[] args) throws Exception {
//напишите тут ваш код
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
double count = 0;
double sum = 0;
double number = 0;
while (true) {
number = Double.parseDouble(reader.readLine());
if (number == -1) {
break;
}
count++;
sum += number;
}
System.out.printf("%.1f%n", sum / count);
}
}
Андрей
18 уровень
Почему такое решение не проходит проверку?
Решен
Комментарии (11)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Алексей Ермаков
12 октября 2020, 16:21полезный
У тебя все отрабатывается правильно и ответ выходит корректный. Я не уверен,но уже 3 раза натыкался на то, что я менял ТИП переменных на другой ( меньший для циклов например ) и мне отказывали до тех пор, пока я не ставил их int.
В Подсказке тебе предлагают считывать число с клавиатуры в тип " int ".
Работать будет так же, только метод сменишь на parseInt()
+1
hidden #2322530
12 октября 2020, 16:26
здесь всё прекрасно double подходит.
просто в условии задачи не входит, что надо обязательно до одного символа после запятой "обрезать".
0
Андрей
12 октября 2020, 16:45
Артем, вопрос не в форматировании до 1-го знака после запятой. Если изменишь на "%.2f%n" или так напишешь "%f%n" будет тоже выдавать ошибку: Выведенный результат должен соответствовать заданию для любых входных данных.
0
hidden #2322530
12 октября 2020, 16:48
я же сказал. что убрать совсем твоё форматирование. у тебя тут тип данных double! тебя просили форматирование? тебе показали, что должно быть число после запятой, значит double. о количество слова нет. убери форматирование и выведи просто
вот вопрос, ты даже не пробовал, а споришь и споришь. 0
Андрей
12 октября 2020, 17:12
Откуда у тебя гипотеза, что я не пробовал? Уменьшай накал страстей в своей голове)) Я с тобой не спорю. Не льсти себе.
0
Андрей
12 октября 2020, 17:15
Твой костыль с println или print не интересен как ответ на мой вопрос. Я хочу понять почему вывод через printf не проходит валидацию.
0
hidden #2322530
12 октября 2020, 17:18
потому что есть заложенные тесты, как на вывод экрана, так и на содержание класса иногда. поэтому очень часто тут будешь попадать на то, что решение работает, а валидатор не принимает. привыкай к этому сразу.
+2
Андрей
12 октября 2020, 17:21
Вот теперь спасибо тебе мил человек))
0
hidden #2322530
12 октября 2020, 10:44
у тебя везде double, зачем ты форматируешь строку? у тебя итак выведет double, а тут у тебя еще 1 цифра после запятой только.
сделай просто вывод
0
Андрей
12 октября 2020, 14:19
По условию задачи вывод должен быть как в примере (я вижу там один знак после запятой). Если ввести значения 2 и 3 и 5 и -1 "просто вывод (println)" напечатает тоже 1 знак после запятой? Думаю нет.
0
hidden #2322530
12 октября 2020, 15:10
так как у тебя double , он всегда выводит знаки после запятой. и разница как раз в том, что в условии просто пример такой. но если вывести многоооо чисел, то второй знак после запятой уже потеряется.
0