我是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