gpt4 book ai didi

java - 想要在Java中查找子列表的乘积

转载 作者:行者123 更新时间:2023-12-02 05:34:45 25 4
gpt4 key购买 nike

已经加载了一个包含数千个整数的大数组,我想找到我在下面创建的 4 个连续整数的最大乘积。现在我想找到 7,3,1,6 的乘积并存储乘积为 126,我希望能够在下一行之前打印出每个乘积。有什么帮助吗?

我不确定在每个子列表迭代 for 循环时使用什么来查找产品,我如何找到子列表的产品?我确实尝试过一些东西,但它一次又一次只给了我 126

         for (int z = 0; z < 1000; z++) {
System.out.println(list.subList(z, z + 4));

int prod = 1;
for (int i = 0; i < list.subList(z, z + 4).size(); i++) { // i indexes each
// element
// successively.
prod = prod * list.get(i);
}

System.out.println(prod);

[7, 3, 1, 6]
126
[3, 1, 6, 7]
126
[1, 6, 7, 1]
126
{6, 7, 1, 7]
126
[7, 1, 7, 6]

最佳答案

如果我明白你想要什么,你可以使用 Java 8 来做到这一点:

for (int z = 0; z < list.size() - 4; z++) 
System.out.println(list.subList(z, z + 4).stream().reduce((i,j) -> i*j));

编辑:

由于您无法使用 Java 8,因此这个不使用 lambda :

List<Integer> list = Arrays.asList(1,2,3,6,9,4,2,9,7,2,8);
for (int z = 0; z < list.size() - 4; z++) {
List<Integer> sublist = list.subList(z, z + 4);
int prod = 1;
for (int i : sublist)
prod *= i;
System.out.println(prod);
}

关于java - 想要在Java中查找子列表的乘积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25107869/

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