MasterJoe2:
私は(すなわち> = 0.5が最も近い整数に切り上げられ、<0.5最も近い整数に丸めダウンされた)整数のリストの平均値と、その後のラウンドの半分までの結果を計算します。どのように私はJavaストリームでこれを行うのですか?
public static void main(String [] args){
List<Integer> values = new ArrayList<>();
values.add(60);
values.add(30);
values.add(20);
double avg = values.stream().mapToInt(a -> a).average().getAsDouble();
System.out.println(avg);
}
私のような何かを期待していました
...average().round(RoundingMode.HALF_UP).getAsInt();
カーン:
あなたの意図はありませんストリーム自体内の値、結果を丸めることです。あなたが二重、その後、ラウンドその値を持つまでだから待ってMath.round()
、これを交換することにより:
System.out.println(avg);
// output: 36.666666666666664
これとともに:
System.out.println(Math.round(avg));
// output: 37