[英]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.