3 回答

TA貢獻(xiàn)1840條經(jīng)驗(yàn) 獲得超5個(gè)贊
到目前為止你試過(guò)的代碼在哪里?!
反正
for (int i = 0; i < array.length; i += 2) {
if(i+1 >= array.length) {
break;
}
int temp = array[i];
array[i] = array[i+1];
array[i+1] = temp;
}

TA貢獻(xiàn)1921條經(jīng)驗(yàn) 獲得超9個(gè)贊
int[] array ={111,77,88,44,32,11,13,25,44};
int[] output = new int[array.length];
for(int x = 0; x < array.length - 1; x += 2) {
output[x] = array[x + 1];
output[x+1] = array[x];
}
if(array.length % 2 != 0) {
output[output.length-1] = array[array.length-1];
}
您只需遍歷數(shù)組,并用交換的值填充新數(shù)組。

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個(gè)贊
這應(yīng)該可以解決問(wèn)題!
public static final <T> void swap (T[] a, int i, int j) {
T t = a[i];
a[i] = a[j];
a[j] = t;
}
public static final <T> void swap (List<T> l, int i, int j) {
Collections.<T>swap(l, i, j);
}
private void test() {
String [] a = {"Hello", "Goodbye"};
swap(a, 0, 1);
System.out.println("a:"+Arrays.toString(a));
List<String> l = new ArrayList<String>(Arrays.asList(a));
swap(l, 0, 1);
System.out.println("l:"+l);
}
添加回答
舉報(bào)