2015-02-23 164 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; 
} 

没有必要返回数组,因为它不是不可变的。