用于求和和和平均值的Java printf



这就是我所拥有的:

  double[] miles = new double [10];
  double milesPerWeek = 26.0 / 10;
  double totalMiles = 0;
  double sum = 0;
  double average = 0;
  System.out.println("WeektMiles");
  for (int i = 0; i < miles.length; i++){
     miles[i] += milesPerWeek;
     totalMiles += miles[i];
     System.out.printf("Week %dt%.1f%n", i + 1, totalMiles);
  }
  for (int i = 0; i < miles.length; i++)
  {              
     sum = sum + miles[i];
     average = sum / miles.length;
  }
  System.out.printf("The total of miles run is: %.1f%n" + sum + "n");
  System.out.printf("The average of miles run is: %.1f%n" + average);

这就是我在求和和和平均数方面遇到的问题。如果没有以下错误消息,我似乎无法使用打印f格式化小数位数:运行的总英里数为:线程"main"java.util.MissingFormatArgumentException中的异常:格式说明符'%.1f'

你能告诉我吗,因为我需要小数点后一位。

您需要将值作为参数传递,而不是连接它们:

System.out.printf("The total of miles run is: %.1f%nn", sum);
System.out.printf("The average of miles run is: %.1f%n", average);
System.out.println("Blah %.1fn", sum);

你知道那一刻有啊哈!!!我刚刚有了…加号不能用于格式化输出。。。逗号是!更正的语法:

System.out.printf("The total of miles run is: %.1f%n", sum, "n");
System.out.printf("The average of miles run is: %.1f%n", average);

最新更新