亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將數組中的每個元素與其相鄰元素交換

將數組中的每個元素與其相鄰元素交換

千萬里不及你 2023-03-31 16:48:14
我需要寫一個程序。此方法將整數數組作為輸入并返回數組,其中每個值與其相鄰元素交換。如果數組有奇數,則不會交換最后一個元素。int[] array ={111,77,88,44,32,11,13,25,44}結果:    finalarray= 77,111,44,88,11,32,25,13,44我嘗試使用嵌套的 for 循環但沒有得到它public static int[] swap(int array[]) {        for (int i = 1; i < array.length; i++) {            for (int j = i; j <= i; j++) {                int temp = array[i - 1];                array[i - 1] = array[j];                array[j] = temp;            }        }        for (int k = 0; k < array.length; k++) {            System.out.print(array[k] + " ");        }        //Desired output 17,111,44,88,11,32,25,13,44        return array;    }    public static void main(String args[]) {        int[] number = { 111, 17, 88, 44, 32, 11, 13, 25, 44 };        number = swap(number);    }
查看完整描述

3 回答

?
慕斯709654

TA貢獻1840條經驗 獲得超5個贊

到目前為止你試過的代碼在哪里?!


反正


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;

    }


查看完整回答
反對 回復 2023-03-31
?
郎朗坤

TA貢獻1921條經驗 獲得超9個贊

  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];

    }

您只需遍歷數組,并用交換的值填充新數組。


查看完整回答
反對 回復 2023-03-31
?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

這應該可以解決問題!


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);

}


查看完整回答
反對 回復 2023-03-31
  • 3 回答
  • 0 關注
  • 141 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號