我试图遍历一个数组,但是我遇到了这个问题。 当我遍历这个数组时:
{1,2,3,4}
我遇到了这个问题:在开始时,我会得到 1 和 4 的组合,但是在接近中间时,我会得到 4 和 1 的组合。我怎样才能让它只接受独特的关系?不能有像 {1,4} 和 {4,1} 这样的东西。
我正在使用 Java,对此有一些答案,但是他们使用的库仅以其他语言提供。
不幸的是,我无法全神贯注地想出一个解决方案。
这是遍历数组后的预期输出:
{1, 2}
{1, 3}
{1, 4}
{2, 3}
{2, 4}
{3, 4}
但这是循环遍历数组时实际发生的情况:
{1, 1}
{1, 2}
{1, 3}
{1, 4}
{2, 1}
{2, 2}
{2, 3}
{2, 4}
{3, 1}
{3, 2}
{3, 3}
{3, 4}
{4, 1}
{4, 2}
{4, 3}
{4, 4}
所以这两个要求是 pair 必须是唯一关系(不能有 1,2 和 2,1)并且它们也不能相同。通过比较两个数字并查看它们是否相等,可以很容易地做到不相同,但我在满足第一个要求时遇到了麻烦。
最佳答案
更新后我假设您正在寻找这样的东西
int[] arr={1,2,3,4};
for (int i=0; i<arr.length; i++)
for (int j=i+1; j<arr.length; j++)
System.out.println("{"+arr[i]+","+arr[j]+"}");
输出:
{1,2}
{1,3}
{1,4}
{2,3}
{2,4}
{3,4}
关于java - 如何只循环一次组合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11415808/