2016-10-18 44 views
0

私は主に2つの配列を作成しようとしていますが、最初の配列(ランダム化されたもの)の値が2番目の配列にコピーされるメソッドを呼び出すと、メソッドを呼び出して渡してしまいます。私はどのように呼び出すと配列を渡すには失われています 任意の助けになると思います。配列の受け渡しとコピー?

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]; 


    } 
    } 
} 
+0

copyArray()関数に引数を渡していません。いくつかのオプション(たとえば、System.arraycopy)への参照はありません。両方の配列を 'copyArray(ar、at)'のように渡す必要があります。 – Coder

答えて

1

あなたはcopyArray(ar, at);copyArray();を置き換える、メソッドに配列を渡されませんでした。

0

コードを少し整理して機能させます。コーダーは上記の答えの本質を与えました。 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]; 
    } 
} 
関連する問題