Распечатать двойной с двумя десятичными в Java - PullRequest
0 голосов
/ 29 сентября 2018

У меня проблема с аналогичной задачей.

Вот задача:

enter image description here

Примеры тестов:

Это мой код:

import java.text.DecimalFormat;
import java.util.Scanner;
public class MinMaxSumAverage {
    public static void main(String[] args) {
        DecimalFormat df = new DecimalFormat("#0.00");
        Scanner scanner = new Scanner(System.in);
        double average;
        double sum = 0;
        double max = Integer.MIN_VALUE;
        double min = Integer.MAX_VALUE;
        double numbers = scanner.nextInt();

        for (int i = 0; i < numbers; ++i) {
           int num = scanner.nextInt();
            if (num > max) max = num;
            if (num < min) min = num;
            sum += num;
        }
        average = sum / numbers;
        System.out.println("min=" + (df.format(min)));
        System.out.println("max=" + (df.format(max)));
        System.out.println("sum=" + (df.format(sum)));
        System.out.println("avg=" + (df.format(average)));
    }
}

Он работает правильно, но в "системе судей", которая проверяет мой код, есть некоторые ошибки:

Можете ли вы помочь мне выяснить, что не так с моим кодом?

Редактировать: Я изменяю сумму, max & min с double на int, и результат теста имеет минимальные изменения:

Тест 2:

enter image description here

1 Ответ

0 голосов
/ 29 сентября 2018

Ваш код не принимает десятичные входные данные, поэтому вы получаете InputMismatchException.Измените эту строку

int num = scanner.nextInt();

на

double num = scanner.nextDouble();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...