java [1, 2, 3, 4, 5, 6, 7] 两两组合
时间: 2023-07-02 09:24:23 浏览: 179
你可以使用两个嵌套的循环来遍历数组元素,并在内层循环中找到所有的两两组合。以下是Java语言的示例代码:
```java
int[] arr = {1, 2, 3, 4, 5, 6, 7};
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
1, 5
1, 6
1, 7
2, 3
2, 4
2, 5
2, 6
2, 7
3, 4
3, 5
3, 6
3, 7
4, 5
4, 6
4, 7
5, 6
5, 7
6, 7
```
相关问题
java遍历数组的两两组合
在Java中,可以使用嵌套循环来实现数组的两两组合遍历。以下是一种常见的实现方式:
```java
public class ArrayCombination {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
// 遍历数组的两两组合
for (int i = 0; i < arr.length - 1; i++) {
for (int j = i + 1; j < arr.length; j++) {
System.out.println(arr[i + " " + arr[j]);
}
}
}
}
```
上述代码中,使用两个嵌套的for循环,外层循环控制第一个元素的索引,内层循环控制第二个元素的索引。通过这种方式,可以遍历数组的所有两两组合。
Java数组 array 的值为[1,2, 3, 4, 5, 6, 7, 8, 9, 10],请计算出array数组中的元素两两相加为10的组合有多少种,并将各种组合放入一个新数组中输出到控制台,其中[4,6]和[6,4]算是两种组合。
首先,我们需要遍历给定数组`[1,2, 3, 4, 5, 6, 7, 8, 9, 10]`,找出所有可以组成10的两个数的组合,并将它们存储在一个新数组中。由于需要考虑重复性(如[4,6]和[6,4]算作同一种组合),我们可以使用哈希集合(HashSet)来存储组合,保证每个组合只添加一次。
下面是用Java实现这个过程的一个示例:
```java
import java.util.ArrayList;
import java.util.HashSet;
public class Main {
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
ArrayList<int[]> combinations = new ArrayList<>();
HashSet<String> seenCombinations = new HashSet<>();
for (int i = 0; i < array.length - 1; i++) {
for (int j = i + 1; j < array.length; j++) {
int sum = array[i] + array[j];
if (sum == 10) {
String combinationStr = Integer.toString(array[i]) + "," + Integer.toString(array[j]);
if (!seenCombinations.contains(combinationStr)) {
combinations.add(new int[]{array[i], array[j]});
seenCombinations.add(combinationStr);
}
}
}
}
// 输出组合到控制台
System.out.println("Number of unique combinations that add up to 10: " + combinations.size());
for (int[] combo : combinations) {
System.out.println("[ " + combo[0] + ", " + combo[1] + " ]");
}
}
}
```
运行上述代码后,会输出满足条件的组合以及总数。注意,这里的组合是按照`(较小数, 较大数)`的形式打印的,因为题目要求的是组合,而不是有序对。
阅读全文