当前位置: 代码迷 >> J2SE >> 数组的倒序输出?麻烦看看为什么不行?多谢
  详细解决方案

数组的倒序输出?麻烦看看为什么不行?多谢

热度:96   发布时间:2016-04-24 00:30:21.0
数组的倒序输出?麻烦看看为什么不行?谢谢
[code=Java][/code]
import java.util.Arrays;
class Exercise06
{
 public static void main(String[] args)
 {
  int[] oldArr={0,1,2,3,4,5,6,7,8,9};
  swap(oldArr);  
 }
 void swap(int[] a)
 {
  int[] newa=new int[a.length];//new一个新数组。
  for (int i=a.length-1;i>=0 ;i-- )
  {
  System.arraycopy(a,i,newa, a.length-i, a.length-1);//将源数组从最后元素开始,一次复制给新数组。
  }
  System.out.print(Arrays.toString(newa));//输出数组。
 }
}

------解决方案--------------------
Java code
void swap(int[] a) {        int[] newa = new int[a.length];        int j = 0;        for (int i=a.length-1;i>=0 ;i-- ){             newa[j++] = a[i];         }        System.out.print(Arrays.toString(newa));    }
------解决方案--------------------
楼主你好好看看arraycopy方法,自会明白,看看API文档
------解决方案--------------------
public static void main(String[] args) {
int[] oldArr = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
swap(oldArr);
}

static void swap(int[] a) {
int[] newa = new int[a.length];// new一个新数组。
for (int i = a.length - 1; i >= 0; i--) {
System.arraycopy(a, i, newa, a.length - i - 1, 1);// 将源数组从最后元素开始,一次复制给新数组。
}
System.out.print(Arrays.toString(newa));// 输出数组。
}
------解决方案--------------------
你是对arraycopy这个方法的参数还不太清楚

arraycopy(要copy的数组,copy这个数组的起始位置,新的数组,copy到这个新数组的什么位置,copy几个元素到新数组里)
------解决方案--------------------
Java code
public class Arrays {    public static <T> T[] swap(T[] t, int len) {    if (t == null || len <= 0)        return null;    T temp = null;    for (int i = 0, j = len - 1; i <= j; i++, j--) {        temp = t[i];        t[i] = t[j];        t[j] = temp;    }    return t;    }    public static void main(String[] args) {    String[] a = new String[] { "a", "b", "c", "d" };    swap(a, a.length);    for (String s : a) {        System.out.println(s);    }    }}
------解决方案--------------------
给你来个精典的:
Integer[] oldArr={0,1,2,3,4,5,6,7,8,9};
List list=Arrays.asList(oldArr);
Collections.reverse(list);
System.out.println(list);
  相关解决方案