1. 程式人生 > 其它 >【Java】——交換兩陣列內容(等長陣列和不等長陣列的交換)

【Java】——交換兩陣列內容(等長陣列和不等長陣列的交換)

技術標籤:Javajava

1.(1)題目描述:

交換兩個不等長陣列——給定兩個整型陣列, 交換兩個陣列的內容.

(2)分析:

交換兩個不等長陣列,需要先對兩個陣列的長度進行判斷,然後得到較小陣列的長度,然後將較小長度的陣列的內容與較大陣列內容進行交換,較大陣列剩餘內容不做交換即可。

(3)程式碼實現:

public class Test{
    //交換兩個不等長陣列——給定兩個整型陣列, 交換兩個陣列的內容.
    public static void reverseArr(int[] arr1,int[] arr2){
        int len1 = arr1.length;
        int len2 = arr2.length;
        int len = Math.min(len1,len2);//int len = len1 < len2 ? len1 : len2;
        for (int i = 0; i < len ; i++) {
            int tmp = arr1[i];
            arr1[i] = arr2[i];
            arr2[i] = tmp;
        }
    }

    public static void main(String[] args) {
        int[] arr1 = {1,2,3,45,6};
        int[] arr2 = {5,6,7,8,9,25,89};
        reverseArr(arr1,arr2);
        System.out.println(Arrays.toString(arr1));
        System.out.println(Arrays.toString(arr2));
    }
  
}

(4)結果截圖:

2.(1)題目描述:

交換兩個等長陣列——給定兩個整型陣列, 交換兩個陣列的內容.

(2)程式碼實現:

public class Test{
     //交換兩個等長陣列——給定兩個整型陣列, 交換兩個陣列的內容.
    public static void main1(String[] args) {
        int[] arr1 = {1,2,3,4,5};
        int[] arr2 = {6,7,8,9,10};
        for (int i = 0; i < arr1.length ; i++) {
            int tmp = arr1[i];
            arr1[i] = arr2[i];
            arr2[i] = tmp;
        }
        System.out.println(Arrays.toString(arr1));
        System.out.println(Arrays.toString(arr2));
    }
}

(3)結果截圖: