Я новичок в java.And поэтому я занимаюсь некоторыми вопросами. Но я наткнулся на это. Я знаю, что я очень близко к правильному ответу, и я думаю о том, чтобы поставить другое условие, если оно меньше чем 0.it сломается. Пробовал вставлять это здесь и там, но он не может работать.печатать средние числа
Напишите метод с именем printAverage, который принимает сканер для консоли в качестве параметра и неоднократно запрашивает у пользователя цифры. После ввода любого числа, меньшего нуля, отображается среднее значение всех неотрицательных чисел, набранных. Покажите среднее значение как двойное, а не округлите его. Например, вызов ваш метод может выглядеть следующим образом:
Scanner console = new Scanner(System.in);
printAverage(console);
The following is one example log of execution for your method:
Type a number: 7
Type a number: 4
Type a number: 16
Type a number: -4
Average was 9.0
If the first number typed is negative, do not print an average.
Моя попытка:
public static void printAverage(Scanner console){
int num=0;
double sum=0;
double avg=0;
int counter=0;
while(num>=0){
System.out.print("Type a number: ");
num=console.nextInt();
if(num>0){
sum+=num;
counter++;
avg=sum/counter;
}
}
System.out.println("Average was " + avg);
}
Sorry.The вопрос не был clear.For пример, когда я типа в 0 0 1 1 - 2 как numbers.I я должен получить
Тип номер: 0 Введите число: 0 Введите номер: 1 Введите номер: 1 Введите номер: -2 Среднее был 0,5
Но я получаю
Тип номер: 0 Введите число: 0 Введите номер: 1 Введите номер: 1 Введите номер: -2 Среднее был 1,0
В чем вопрос? – NPE
Пробовал вводить отрицательный номер. Но он просто не останавливается и прерывает цикл – user2179615