2015-02-23 173 views
-3

我定義了一個方法,可以交換數組中的兩個特定字符,但是當我想看到結果時,我不知道如何將數組傳遞給我的方法。如何將數組傳遞給方法?

public static int[] swap(int[] array, int x, int y){ 

    for(int i=0; i<array.length;i++){ 
     if(array[i] == array[x]) { 
      int temp = array[x]; 
      array[x] = array[y]; 
      temp = array[y]; 
     } 
    } 

    return array; 


} 


public static void main(String[] args){ 
    System.out.println(swap(, 0, 1)); 
} 

我該怎麼做才能將任何數組傳遞給交換方法?

+0

'swap(,0,1)'..嗯,應該通過什麼「數組」? [也許應該先創建一個,帶有一些有用的數據,並且可能分配給一個變量](http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html)。然後's​​wap( theArray,0,1)'可以使用。 – user2864740 2015-02-23 04:19:35

+0

@ user2864740爲什麼你的名字是user28xxxxx? – 2015-02-23 04:23:21

+0

@RandykaYudhistira可以很容易地看到評論 - 最後3是740! – user2864740 2015-02-23 04:23:56

回答

0

如果陣列爲int[] nums = {0,1,2,3,4,5},那麼你將只是傳遞整個數組,像這樣:

swap(nums,2,4); 

,並應返回{0,1,4,3,2,5}。順便說一句,你的交換方法有點低效。沒有必要像你一樣循環整個陣列。這將是一個更好的方法:

public static void swap(int[] array, int x, int y){ 
    int temp = array[x]; 
    array[x] = array[y]; 
    array[y] = temp; 
} 

沒有必要返回數組,因爲它不是不可變的。