我是Java新手(1个月)。我一直在尝试做下面的失败,任何帮助将不胜感激。我想要有是:返回Arraylist ints
主要通过int数组到方法PERM2。
perm2(new int[]{1,2,3});
PERM2将它置换,并添加到一个ArrayList并返回它。
这是我到目前为止。正如你所看到的,它只是打印出排列。
问题是我不能将它们添加到ArrayList并返回。
public static void perm2(int[] s) {
int N = s.length;
int[] a = new int[N];
for (int i = 0; i < N; i++) a[i] = s[i];
perm2(a, N);
}
private static void perm2(int[] a, int n) {
if (n == 1) {
System.out.println(Arrays.toString(a));
return;
}
for (int i = 0; i < n; i++) {
swap(a, i, n-1);
perm2(a, n-1);
swap(a, i, n-1);
}
}
private static void swap(int[] a, int i, int j) {
int c;
c = a[i]; a[i] = a[j]; a[j] = c;
}
输出:
[2, 3, 1]
[3, 2, 1]
[3, 1, 2]
[1, 3, 2]
[2, 1, 3]
[1, 2, 3]
我真的不希望他们输出,sysout
。我只是希望他们在int数组的ArrayList中返回。
@blalasaadri'列表'很好。 'int []'是一个对象,而不是一个原始类型。 –
Boann