java数组的copy;帮我看下问题错那了?

public class Copy{
public static void main(String[] args){
int ary1[]=new int[]{1,2,3,5};
int ary2[]=new int[4];
System.out.println ("交换前:");
for(int i=0;i<ary1.length;i++){
System.out.print (ary[i]);

}
System.out.println ();
System.out.println ("交换后:");
ary2[]=getCopy(ary1[]);
for(int i=0;i<ary2.length;i++){
System.out.print (ary2[i]);
}
System.out.println ();
}
//
static int[] getCopy(int x[]){
int[] y =new int[4];
for(int i=0;i<y.length;i++){
y[i]=x[i];
}
return y;

    }
//

}

第二个数组是空的,怎么能for循环呢,应该会抛空指针异常吧

首先,你这段代码根本就编译不了啊 。其次,参数传递只是传递参数名称,不能把[]也写上,是语法错误的。
修正如下试试:

 public class Copy {

    public static void main(String[] args) {
        int ary1[] = new int[] { 1, 2, 3, 5 };
        int ary2[] = new int[4];
        System.out.println("交换前:");
        for (int i = 0; i < ary1.length; i++) {
            System.out.print(ary1[i]);
        }
        System.out.println();
        System.out.println("交换后:");
        ary2 = getCopy(ary1);
        for (int i = 0; i < ary2.length; i++) {
            System.out.print(ary2[i]);
        }
        System.out.println();

    }

    static int[] getCopy(int x[]) {
        int[] y = new int[4];
        for (int i = 0; i < y.length; i++) {
            y[i] = x[i];
        }
        return y;
    }

}

ary2[]=getCopy(ary1[]);这句有问题应改为:ary2[]=getCopy(ary1);