2015-04-15 98 views
0

我想交換數組的元素,所以我創建了一個方法來完成它。 該方法使用整數數組和兩個索引,然後交換給定索引處的元素。然而,我不知道該怎麼做通過聲明的變量。我不知道這個方法是否需要循環,但是我添加了它。這是代碼。交換元素

public static int[] swapElement(int[] a, int i1,int i2) { 
    int temp=i1; 
    int swap=temp; 
    for (int i=0;i<a.length;i++) { 
     if (a.length>i1) { 
      temp=i2; 
     } 
    } 

    return a; 
} 

回答

4

我無法理解你的代碼應該做的,但適當的交換應該是這樣的:

public static void swapElement(final int[] a, final int i1, final int i2) { 
    final int temp = a[i1]; 
    a[i1] = a[i2]; 
    a[i2] = temp; 
} 

當然,你可以添加邊界檢查或創建新的數組,而不是在傳遞一個

做改變
0

嘗試這樣:

public static int[] swapElement(int[] a , int i1, int i2) 
{ 
    int temp = a[i2]; 
    a[i2] = a[i1]; 
    a[i1] = temp; 
} 
0

既然你需要換一個數組的Elemen使用方法我建議你實例化一個全局數組變量。

int arr1[] = new int[length]; 
int arr2[] = new int[length]; 

public static void swapElement(final int i1, final int i2) { 
{ 
    int temp = arr1[i1]; 
    arr1[i1] = arr2[i2]; 
    arr2[i2] = temp; 
}