提示:编写一个反转数组中元素序列的方法。
例如,如果使用数组
调用方法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];
}
}
答案 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
}
}