传递和复制数组?

时间:2016-10-18 21:12:09

标签: java arrays

我正在尝试在main中创建两个Arrays然后调用一个方法,其中第一个数组(我随机化)的值被复制到第二个数组,我在调用方法和传递时遇到困难。我迷失了如何调用和传递数组 任何帮助,将不胜感激。

class C9hw5 

 {

   public static void main(String[] args)
     {

        int[] ar = new int[10]; // random array

        int[] at = new int[10]; // array two

        Random r = new Random();

        for(int i = 0; i < ar.length; i++) // initializing it to random

         ar[i] = r.nextInt();

        System.out.println("The random array displays");

        for(int i = 0; i < ar.length; i++)

         System.out.println( ar[i]);

        copyArray();
     }

   public static void copyArray(int ar[], int at[])

     {

        for (int i = 0; i < at.length; i++) 

            at[i] = ar[i];


     }
  }
}

2 个答案:

答案 0 :(得分:1)

您没有将数组传递给方法,请将copyArray();替换为copyArray(ar, at);

答案 1 :(得分:0)

将代码清理一下以使其正常工作。编码员给出了上述答案的精髓。对某些选项(例如,System.arraycopy)的引用是:Is there any reason to prefer System.arraycopy() over clone()?

import java.util.Random;

class C9hw5 {
    public static void main(String[] args) {
        int[] ar = new int[10]; // random array
        int[] at = new int[10]; // array two

        Random r = new Random();

        for(int i = 0; i < ar.length; i++) // initializing it to random
            ar[i] = r.nextInt();

        System.out.println("The random array displays");

        for(int i = 0; i < ar.length; i++)
            System.out.println(ar[i]);

        copyArray(ar, at);

        System.out.println("The second array displays");

        for(int i = 0; i < at.length; i++)
            System.out.println(at[i]);
    }

    public static void copyArray(int ar[], int at[]) {
        for (int i = 0; i < at.length; i++) 
            at[i] = ar[i];
    }
}