Введите цифры до 0, затем рассчитайте среднее - PullRequest
0 голосов
/ 26 декабря 2018

Окей, мне нужно сделать программу для расчета среднего.Но мне нужно ввести цифры, и когда я хочу остановиться, я могу ввести ноль.Затем моей программе необходимо сложить все введенные числа и вычислить среднее число введенных чисел.Я сделал почти все в своем коде, но не знаю, как составить формулу для вычисления среднего числа, чисел моей программы и затем деления на последнее введенное число.

    Scanner input = new Scanner(System.in);
    System.out.println("Input numbers, 0 for stop!");
    int number = input.nextInt();
    int number1 = 1;
    while (number != 0) {
        number1 = (number + number1) / number; //here is my problem?
        number = input.nextInt();
    }
    System.out.println("Average is: " + number1);

Ответы [ 2 ]

0 голосов
/ 26 декабря 2018

Ваш код написан отлично, за исключением того, что вы неправильно вычислили среднее значение,

Если вы хотите вычислить среднее значение на лету, вам нужно будет знать, сколько цифр вы прочитали до сих пор.

например:

Scanner input = new Scanner(System.in);
System.out.println("Input numbers, 0 for stop!");
int number = input.nextInt();
int average = number;
int counter = 1;
while (number != 0) {
    average= (average * number + number) / (counter + 1);
    counter++;
    number = input.nextInt();
}
System.out.println("Average is: " + average);

этот код даст вам среднее значение после каждого шага.

Другой (более простое решение):

Scanner input = new Scanner(System.in);
    System.out.println("Input numbers, 0 for stop!");
    int number = input.nextInt();
    double sum = 0;
    int counter = 0;
    while (number != 0) {
        sum += number;
        counter++;
        number = input.nextInt();
    }
    System.out.println("Average is: " + sum/counter);
0 голосов
/ 26 декабря 2018

Среднее - это общая сумма чисел, деленная на количество чисел, поэтому вам нужно вести текущий подсчет количества вводимых чисел, а также промежуточную сумму, и в конце вы делите суммупо счету.Сумма должна быть двойной, на случай, если вы получите дробь

Scanner input = new Scanner(System.in);
System.out.println("Input numbers, 0 for stop!");
double sum = 0;
int count = 0;
int number = input.nextInt();
while (number != 0) {
    sum += number;
    count++;
    number = input.nextInt();
}
System.out.println("Average is: " + sum/count);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...