//我正在寻找使用流的循环,如下所示:
int inputArray[] = {4, 6, 5, -10, 8, 1, 2};
for (int i : inputArray)
{
for (int j = i+1; j < inputArray.length; j++)
{
if(inputArray[i]+inputArray[j] == inputNumber)}}
//尝试了类似的方法,但是没有用
IntStream intStream1 = Arrays.stream(inputArray);
intStream1.forEach(i -> {
IntStream.range(i+1,... ).forEach(j -> {
});
});
最佳答案
这是您要的流答案(确定数组中的任何两个数字之和是否等于给定值)
int inputArray[] = {4, 6, 5, -10, 8, 1, 2};
int inputNumber = -8;
IntStream.range(0, inputArray.length-1).forEach(i -> IntStream.range(i+1, inputArray.length)
.forEach(j -> {
if (inputArray[i]+inputArray[j] == inputNumber)
System.out.println("Found "+inputNumber+"; a["+i+"]="+inputArray[i]+" a["+j+"]="+inputArray[j]);
}));;
产生结果:
Found -8; a[3]=-10 a[6]=2