这是我写的复制数字程式, 但是输出有些问题,数字没有copy上去, 4个数字都是0, 这是怎么回事, 谁能修改一下
按照道理来讲应该是输出 10, 15, 20, 25,  10, 15, 20, 25但是现在我看到的是 0,0,0,0 10, 15, 20, 25 , 高手请指点 public class arrayCopy
{
    public static void CopyOne( int[] orig, int[] cpy )
    {
        cpy = new int [orig.length];
        
        for(int i=0; i<orig.length; i++)
        {
            cpy[i] = orig[i];
        }
    
    }
    
    public static void printArray( int[] in )
    {
        for(int i=0; i<in.length; i++)
        {
            System.out.println(in[i]);
        }
    }
}public class arrayTest    
{    
    public static void main(String[] args)
    {
        int test[] = { 10, 15, 20, 25 };
        int goboy[] = new int[4];
        
    arrayCopy.CopyOne(goboy, test);
        
    arrayCopy.printArray(goboy);
    arrayCopy.printArray(test);
    }
}

解决方案 »

  1.   

    arrayCopy.CopyOne(goboy, test); 句改成arrayCopy.CopyOne( test, goboy); 
    参数传反了吧!
      

  2.   

    public static void CopyOne( int[] orig, int[] cpy ) 
        { 
            cpy = new int [orig.length]; 
            
            for(int i=0; i <orig.length; i++) 
            { 
                cpy[i] = orig[i]; 
            } 
        
        } 
    里cpy = new int [orig.length]; 有问题!重新new了已经不是传进来的goboy数组了。觉得可以用return把copy好的数组返回,方法用一个参数传原始数组就行。
    我平时都是不用将方法定义成static而是在在main里
    (new arrayCopy()).CopyOne(test, goboy);  
    (new arrayCopy()).printArray(goboy); 
    (new arrayCopy()).printArray(test); 
    调用。