gpt4 book ai didi

java-8 - 使用 Java 的 Stream.reduce() 计算幂的总和给出了意想不到的结果

转载 作者:行者123 更新时间:2023-12-04 02:31:36 24 4
gpt4 key购买 nike

List<Integer> list = Arrays.asList(1, 2, 3);

int i = list.stream().mapToInt(e -> e)
.reduce((x, y) -> (int) Math.pow(x, list.size()) + (int) Math.pow(y, list.size()))
.getAsInt();
System.out.println(i);

这个操作的结果应该是 1*1*1 + 2*2*2 + 3*3*3 = 36。但我得到的是 i = 756。怎么了?我应该更改什么才能使 reduce() 正常工作?

最佳答案

你甚至不需要减少

List<Integer> list = Arrays.asList(1, 2, 3);

int i = list.stream()
.mapToInt(e -> (int) Math.pow(e, list.size()))
.sum();

关于java-8 - 使用 Java 的 Stream.reduce() 计算幂的总和给出了意想不到的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40040597/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com