有一个数组 , 我想让数组最后一个 变成数组的第一个
然后其他的依次向后退一位。请问该怎么写这个?

解决方案 »

  1.   


    int[] a = {1, 2, 3, 4, 0};
    int temp = a[a.length-1];
    for(int i=1; i<a.length; i++) {
        a[i] = a[i-1];
    }
    a[0] = temp;
    //over
      

  2.   


    int[] a = {1, 2, 3, 4, 0};
    int temp = a[a.length-1];
    for(int i=length-1; i>0; i--) {
        a[i] = a[i-1];
    }
    a[0] = temp;
    //over刚才那样话是有问题了,嘿嘿
      

  3.   


    public static void main(String[] args) {
    int[] a = {1,2,3,4,0};
    int[] b = new int[a.length];
    b[0] = a[a.length-1];
    for(int i=0;i<a.length-1;i++) {
    b[i+1] = a[i];
    }
    for(int j : b) {
    System.out.println(j);
    }
    }
      

  4.   

    来个更简单的 public static void main(String[] args) {
    int[] a = {1,2,3,4,0};
    int[] b = new int[a.length];
    b[0] = a[a.length-1];
    System.arraycopy(a, 0, b, 1, a.length-1);
    for(int j : b) {
    System.out.println(j);
    }
    }
      

  5.   


    import java.util.Arrays;
    class ArrayTest 
    {
    public static void main(String[] args) 
    {
    int[] a = {0,1,2,3,4};
    turnBack(a);
    System.out.println(Arrays.toString(a));
    turnBack(a);
    System.out.println(Arrays.toString(a));
    turnBack(a);
    System.out.println(Arrays.toString(a));
    turnBack(a);
    System.out.println(Arrays.toString(a));
    turnBack(a);
    System.out.println(Arrays.toString(a));
    turnBack(a);
    System.out.println(Arrays.toString(a));
    turnBack(a);
    System.out.println(Arrays.toString(a));
    turnBack(a);
    System.out.println(Arrays.toString(a));
    }

    public static void turnBack(int[] a){
    int temp = a[a.length-1];
    for(int i=a.length-1;i>0;i--){
    a[i] = a[i-1];
    }
    a[0] = temp;
    }
    }