2015-02-23 6 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)' .. hmm, что такое «массив», который должен пройти? [Вероятно, сначала было создано первое с некоторыми полезными данными и, вероятно, назначено переменной] (http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html). Затем 'swap (theArray, 0, 1) '. – user2864740

+0

@ user2864740 почему ваше имя user28xxxxx? –

+0

@ RandykaYudhistira позволяет легко видеть в комментариях - последние 3 - 740! – user2864740

ответ

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

Нет необходимости возвращать массив, потому что он не является неизменным.

Смежные вопросы