Различное количество входных данных - PullRequest
0 голосов
/ 05 июля 2019

Проблема: Статистика часто рассчитывается с различным количеством входных данных.Напишите программу, которая принимает любое количество неотрицательных целых чисел в качестве входных данных и выводит среднее значение и макс.Отрицательное целое число заканчивает ввод и не включается в статистику.

Пример: Когда ввод: 15 20 0 5 -1

, вывод: 10 20

Можно предположить, что введено хотя бы одно неотрицательное целое число.

import java.util.Scanner; 

public class LabProgram {
   public static void main(String[] args) {

      Scanner scnr = new Scanner (System.in);
      int num = 0;
      int count = 0;
      int max = 0;
      int total = 0;
      int avg = 0;

     do {

         total += num;
         num = scnr.nextInt();
         count = ++count;


         if (num >= max) {
            max = num;
         }

      } while (num >= 0);

     avg = total/(count-1);

      System.out.println(avg + " " + max);

   }
}

У меня было много проблем с этой проблемой.Есть ли способ, которым я мог бы сделать это без необходимости считать -1 при вычислении среднего?Кроме того, это самый эффективный способ, которым я мог это сделать?

1 Ответ

0 голосов
/ 05 июля 2019

Как насчет этого?Если у вас есть вопросы по реализации, пожалуйста, спросите.

    public static void main(String[] args) throws IOException {
        Scanner scnr = new Scanner(System.in);
        int count = 0, max = 0, total = 0;

        int num = scnr.nextInt();
        while (num >= 0) {
            count++;
            total += num;
            max = Math.max(max, num);
            num = scnr.nextInt();
        }

        int avg = count == 0 ? 0 : total/count;
        System.out.println(avg + " " + max);
    }

Если вы используете цикл while вместо цикла do-while, вам больше не нужно подсчитывать ввод отрицательного числа.И нет, это не самый эффективный способ, но это хорошее начало!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...