簡體   English   中英

在java中使用兩個小數點問題打印雙精度

[英]Print double with two decimal problem in java

我在執行類似任務時遇到問題。

這是任務:

在此處輸入圖片說明

樣本測試是:

這是我的代碼:

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)));
    }
}

它工作正常,但是在測試我的代碼的“判斷系統”中有一些錯誤:

您能幫我發現我的代碼有什么問題嗎?

編輯:我將總和,最大值和最小值從雙精度更改為整數,並且測試結果具有最小的變化:

測試2:

在此處輸入圖片說明

您的代碼無法接受十進制輸入,這就是為什么您收到InputMismatchException的原因。 更改此行

int num = scanner.nextInt();

double num = scanner.nextDouble();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM