无法获得阵列的平均值

时间:2018-05-23 05:01:19

标签: java arrays java-stream average

我试图得到一个数组的平均值,我在研究期间找到了这段代码。

int myArray[] = {1,2,3};
     Arrays.stream(myArray).average();
     System.out.println(Arrays.toString(myArray));

当我运行它时,结果显示为

[1, 2, 3]

我是java的新手,我觉得我有一些明显的东西,我没有看到。

2 个答案:

答案 0 :(得分:0)

您正在打印原始阵列。

要打印计算出的数组,请添加下一行:

System.out.println(Arrays.stream(myArray).average().getAsDouble());

输出:

  

2.0

答案 1 :(得分:-1)

您只是打印数组,而是可以执行此操作。

int myArray[] = {1,2,3};
System.out.println(Arrays.toString(Arrays.stream(myArray).average().getAsDouble()));

OR

int myArray[] = { 1, 2, 3 };
OptionalDouble ans = Arrays.stream(myArray).average();
System.out.println(ans.getAsDouble());
  

这里,OptionalDouble是一个容器对象,可能包含也可能不包含   双倍价值。如果存在值,则isPresent()将返回true   和getAsDouble()将返回值。