gpt4 book ai didi

java - 如何在foreach java 8中执行算术运算

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

我是 java 8 的新手,我尝试在 java 8 中编写以下代码片段,但确实有效。

static int getMissingNo(int a[], int n) { 
int i, total;
total = (n + 1) * (n + 2) / 2;
for (i = 0; i < n; i++)
total -= a[i];
return total;
}

// this is waht i tried in java 8
int total = (n+1) * (n+2) /2;
unicArray.stream().forEach(e->{
total = total - e;
});

代码片段给了我一个编译错误,指出局部变量应该是最终的,但如果它是最终的,我怎样才能返回该值

最佳答案

请找到下面的代码:

static List<Integer> getMissingNo(int[] a, int n) {

List<Integer> listOfDistinctElements = Arrays.stream(a)
.boxed()
.distinct().collect(Collectors.toList());

List<Integer> elemntsLeftOut = new ArrayList<>();

IntStream.range(1, listOfDistinctElements.get(listOfDistinctElements.size()-1)).forEach(index ->
{
if(!listOfDistinctElements.contains(index)){
elemntsLeftOut.add(index);
}
});

return elemntsLeftOut;
}

关于java - 如何在foreach java 8中执行算术运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58470337/

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