我想在一个数组中求一个target和,方法是将整数相加,直到达到target和为止,然后使用流返回indexes和目标.

例如,如果提供的数组是{1, 2, 3, 4},而target4,那么该方法应该打印出一个包含索引{0,2}的int数组,但不打印.

代码如下:

public static int[] twoSum(int[] numbers, int target)
{
    IntStream.of(0, numbers.length - 1).boxed()
            .flatMap(i -> IntStream.range(i , numbers.length - 1).boxed()
                    .filter(j -> numbers[j] + numbers[i] == target)
                        .flatMap(j -> Stream.of(new int[]{i , j}, new int[] {j,i})))
                            .forEach(nu -> System.out.println(Arrays.toString(num)));

    return numbers;
}

public static void main(String[] args)
{
    System.out.println(Arrays.toString(twoSum(new int[]{1,2,5,1}, 4)));
}

推荐答案

不确定,但如果你使用的是这段代码,可能是因为foreach之后的拼写错误.您正在将输入初始化为nu,但将其打印为num.

.forEach(num -> System.out.println(Arrays.toString(num)));

也许用你现有的东西来代替它会解决这个问题.

EDIT

关于对注释的更多澄清,人们意识到这是给定值的问题,与Java流API无关.

Java相关问答推荐

从技术上讲,OPC UA客户端是否可以通过转发代理将请求通过 tunel 发送到OPC UA服务器?

Java .类参数不通过构造函数传递

上下文初始化期间遇到异常-使用Java配置配置HibernateTemplate Bean时

使用意向过滤器从另一个应用程序启动服务

将不受支持的时区UT重写为UTC是否节省?

为什么JAVA&S清洁器使用链表而不是并发HashSet?

无法了解Java线程所消耗的时间

@Rollback @ Transmission在验收测试中不工作

将Spring Boot 3.2.0升级到3.2.1后查询执行错误

Java中将文本拆分为数字或十进制数字和字符串

Lombok@Nonnull是否也对供应商有影响?

二进制数据的未知编码/序列化

Cordova Android Gradle内部版本组件不兼容

从LineChart<;字符串、字符串和gt;中删除数据时出现特殊的ClassCastException;

在JDK Flight Recorder中只记录单个线程

为什么项目名称出现在我的GET请求中?

为什么使用lo索引来解决二进制搜索问题不同于使用hi索引?

如何在单元测试中获得我的装饰Mapstruct映射器的实例?

java中的网上购物车解析错误

setMaxTotal实际上是做什么的? (MySQL与Java和Apache BasicDataSource连接池)