简单的就利用一个中间变量逐个调换n-1,0;n-2,1;...n-r,r-1;(r=1,2,...(int)2/n)
效率也不低了

解决方案 »

  1.   

    public class arrys 
    {
        public static void main(String[] arg)
        {
            int[] a={1,2,3,4,5};
            int b;
          for(int i=0;i<5;i++)
          {
              System.out.print(a[i]);
          }
          for(int j=0;j<(a.length)/2;j++)
          {
              b=a[j];
              a[j]=a[4-j];
              a[4-j]=b;     
          }
          for(int t=0;t<5;t++)
          {
              System.out.print(a[t]);
          }
        }
    }
      

  2.   

    import java.util.*;
    class A{
    public static void main(String[] args){
    int[] a ={1,2,3,4,5};
    int[] b =new int[5];
    for(int i=a.length-1,j=0;i>=0;i--,j++){
    b[j]=a[i];
    }
    System.arraycopy(b,0,a,0,5);
    System.out.println(Arrays.toString(a));
    }
    }
      

  3.   

    public static int[] reverseInt(int[] a){
          for(int i = 0;i <(a.length) / 2; i++)
          {
              int tmp =a[i];
              a[i]=a[a.length - i- 1];
              a[a.length - i - 1] = tmp;     
          }
    return a;
    }

        public static void main(String[] arg)
        {
            int[] a = {1,2,3,4,5,6,7,8};
            int[] b= reverseInt(a);
    for(int i=0;i<b.length;i++){ 
        System.out.print(b[i]);
    }
    System.out.println();
            int[] c = {1,2,3,4,5,6,7,8,9};
            b= reverseInt(c);
    for(int i=0;i<b.length;i++){ 
        System.out.print(b[i]);
    }
        }
      

  4.   

    如果空间允许,可以建一个Stack,借助于Stack的后进先出的特性来实现。