如何调用处理数组的方法

时间:2014-03-25 23:07:52

标签: java arrays methods

提示:编写一个反转数组中元素序列的方法。

例如,如果使用数组

调用方法

1 4 9 16 9 7 4 9 11

然后将数组更改为

11 9 4 7 9 16 9 4 1

这是我到目前为止所拥有的。我不知道如何调用该方法...

public static void main(String[] args) {
    int [] array = {1,4,9,16,9,7,4,9,11};

    System.out.println(reverse(array[]));
}
public static void reverse (int[]a){
    for (int i = 0; i < a.length/2; i++){
        double temp = a[i];
        a[i] = a[a.length - i -1];
        temp = a[a.length - i - 1];
    }
}

2 个答案:

答案 0 :(得分:1)

这很简单,你在反向方法中也有一点错误,这里是:

import java.util.Arrays;

public class JavaApplication118 {

    public static void main(String[] args) {
        int[] array = {1, 4, 9, 16, 9, 7, 4, 9, 11, 5};
        reverse(array); //here you call the method
        System.out.println(Arrays.toString(array)); //print the array, using Arrays method
    }

    public static void reverse(int[] a) {
        for (int i = 0; i < a.length / 2; i++) {
            int temp = a[i];
            a[i] = a[a.length - i - 1];
            a[a.length - i - 1] = temp;
        }
    }
}

答案 1 :(得分:0)

如果您不必自己实现,可以使用 Apache Commons Lang utils。

ArrayUtils.reverse(..)

完全符合您的要求。

在您的代码块中,您可以分配变量temp两次。但第二次应该分配它的价值。所以这是对的:

public static void reverse (int[]a){
  for (int i = 0; i < a.length/2; i++){
    double temp = a[i];
    a[i] = a[a.length - i -1];
    a[a.length - i - 1] = temp;  //<--- here was the mistake
  }
}