[code=Java][/codeclass Array
{
public static void main(String []args)
{
int arr[]={1,2,3,4,5,6,7,8,9};
for (int x=0,y=arr.length-1;x<y ; x++,y--)
{
x=x^y;
y=x^y;
x=x^y;
}
for (int x=0;x<arr.length ;x++ )
{
System.out.print(arr[x]+",");
}
}
}
=============================================================
class Array
{  
    public static void main(String []args)  
    {  
        int arr[]={1,2,3,4,5,6,7,8,9};  
        for (int x=0,y=arr.length-1;x<y ; x++,y--)  
        {  
            arr[x]=arr[x]^arr[y];  
            arr[y]=arr[x]^arr[y];  
            arr[x]=arr[x]^arr[y];  
        }  
        for (int x=0;x<arr.length ;x++ )  
        {  
            System.out.print(arr[x]+",");  
        }  
    }  

小弟的问题是为什么第一种方法不行呢?把角标位互换再打印为嘛不行,是不是可以这么理解,我换不换,角标从左往右都是0开始的。 ]