Java:循环和乘法

Java:循环和乘法,java,arraylist,Java,Arraylist,我想以这样的方式循环我的arraylist 如果它是int i=0=b(0),它将消除b(0)并相乘 b.get(1)*b.get(2) = 3*6 如果它是int i=1=b(1),它将消除b(1)并相乘 b.get(0)*b.get(2) = 1*6 b.get(0)*b.get(1) = 1*3 如果它是int i=2=b(2),它将消去b(2)并相乘 b.get(0)*b.get(2) = 1*6 b.get(0)*b.get(1) = 1*3 我试过了,但这不是我想要的 1*

我想以这样的方式循环我的arraylist

如果它是int i=0=b(0),它将消除b(0)并相乘

b.get(1)*b.get(2) = 3*6
如果它是int i=1=b(1),它将消除b(1)并相乘

b.get(0)*b.get(2) = 1*6
b.get(0)*b.get(1) = 1*3
如果它是int i=2=b(2),它将消去b(2)并相乘

b.get(0)*b.get(2) = 1*6
b.get(0)*b.get(1) = 1*3
我试过了,但这不是我想要的

1*3
1*6
3*1
3*6
6*1
6*3
代码

这是错误的

期望输出

3*6
1*6
1*3

只需从i+1开始第二个循环(不需要更多if)

for(int j=i+1;j

编辑:

for(inti=0;i
只需从i+1开始第二个循环(不再需要if)

for(int j=i+1;j

编辑:

for(inti=0;i
只需从i+1开始第二个循环(不再需要if)

for(int j=i+1;j

编辑:

for(inti=0;i
只需从i+1开始第二个循环(不再需要if)

for(int j=i+1;j

编辑:

for(inti=0;i
只需将j循环设置为从

i + 1 

这将只打印一次对。

只需将j循环设置为从开始

i + 1 

这将只打印一次对。

只需将j循环设置为从开始

i + 1 

这将只打印一次对。

只需将j循环设置为从开始

i + 1 

这将只打印一次对。

假设您不关心顺序,您只需要列出所有可能的无序对,这些对具有您提供的整数列表中不同的元素(
1
3
6

因此,让我们从循环第一个元素的列表开始:

for(int i = 0; i < b.size(); ++i) {
    // something with b.get(i)
}
如果你画一个乘法表

   |  1  |  3  |  6
 1 | 1*1 | 1*3 | 1*6
 3 | 3*1 | 3*3 | 3*6
 6 | 6*1 | 6*3 | 6*6

你看,我们在看一个三角形的值。我们从1*3、1*6开始(如果我们还有更多整数的话,还有更多),然后在下一行的右下一列继续使用3*6。

假设您不关心顺序,那么您只需要列出所有可能的无序对,它们具有您提供的整数列表(
1
3
6
)中不同的元素

因此,让我们从循环第一个元素的列表开始:

for(int i = 0; i < b.size(); ++i) {
    // something with b.get(i)
}
如果你画一个乘法表

   |  1  |  3  |  6
 1 | 1*1 | 1*3 | 1*6
 3 | 3*1 | 3*3 | 3*6
 6 | 6*1 | 6*3 | 6*6

你看,我们在看一个三角形的值。我们从1*3、1*6开始(如果我们还有更多整数的话,还有更多),然后在下一行的右下一列继续使用3*6。

假设您不关心顺序,那么您只需要列出所有可能的无序对,它们具有您提供的整数列表(
1
3
6
)中不同的元素

因此,让我们从循环第一个元素的列表开始:

for(int i = 0; i < b.size(); ++i) {
    // something with b.get(i)
}
如果你画一个乘法表

   |  1  |  3  |  6
 1 | 1*1 | 1*3 | 1*6
 3 | 3*1 | 3*3 | 3*6
 6 | 6*1 | 6*3 | 6*6

你看,我们在看一个三角形的值。我们从1*3、1*6开始(如果我们还有更多整数的话,还有更多),然后在下一行的右下一列继续使用3*6。

假设您不关心顺序,那么您只需要列出所有可能的无序对,它们具有您提供的整数列表(
1
3
6
)中不同的元素

因此,让我们从循环第一个元素的列表开始:

for(int i = 0; i < b.size(); ++i) {
    // something with b.get(i)
}
如果你画一个乘法表

   |  1  |  3  |  6
 1 | 1*1 | 1*3 | 1*6
 3 | 3*1 | 3*3 | 3*6
 6 | 6*1 | 6*3 | 6*6

你看,我们在看一个三角形的值。我们从1*3,1*6开始(如果我们有更多的整数,还有更多的整数),然后在下一行,再往下一列,以3*6继续。

我想我没有足够好地解释我的问题,我想要的是,如果我开始循环,从int=0=b(0)开始,也就是1,它将消除b(0)=1,然后将b(1)和b(2)相乘,所以3*6,现在int=1=b(1)所以它会消除b(1)并乘以b(0)和b(2)所以1*6,最后现在int=2=b(2),所以它会消除b(2)并乘以b(0)和b(1),这是1*3。我想我没有充分解释我的问题,我想要的是,如果我开始循环,从int=0=b(0)开始,这是1,它会消除b(0)=1,然后乘以b(1)和b(2)所以3*6,现在int i=1=b(1),它会消去b(1),乘以b(0)和b(2),所以1*6,最后现在int=2=b(2),它会消去b(2),乘以b(0)和b(1),这是1*3,我想我没有很好地解释我的问题,我想要的是,如果我开始循环,从int=0=b(0)开始,这是1,它会消去b(0)=1,乘以b(1)和b(2)那么3*6,现在int i=1=b(1),它将消除b(1),乘以b(0)和b(2)那么1*6,最后现在int=2=b(2),它将消除b(2),乘以b(0)和b(1),这是1*3我想我没有充分解释我的问题,我想要的是,如果我开始循环,从int=0=b(0)开始,这是1,它将消除b(0)=1,然后将b(1)和b(2)相乘3*6,现在int i=1=b(1),这样它将消除b(1),然后将b(0)和b(2)相乘1*6,最后现在int=2=b(2),这样它将消除b(2),然后将b(0)和b(1)相乘,这是1*3。我认为我没有充分解释我的问题,我想要的是,如果我开始循环,从int=0开始=