複数の方法で配列を使用します

TommyDordo:

私は、プログラムを作成しています2つの方法

第一の方法で私が作成配列を、第2の方法で私がしなければならない表示その配列表等

私の質問があるので、どのように私は、最初の方法で配列を作成し、それを表示するための第二の方法に渡すのですか?

public class test {

    public static void main(String[] args) {
        first();
        second();
    }
    public static void first () {
        int N= (int)(Math.random()*5)+1;
        int M= (int)(Math.random()*5)+1;
        int v [][] = new int [N][M];
        for(int i=0; i < v.length; i++) {
            for(int j=0; j < v[0].length; j++) {
                v [i][j]= (int)(Math.random()*5);
            }
        }
    }
    public static void second () {
        for(int i=0; i < v.length; i++) { 
            for(int j=0; j < v[0].length; j++)
                System.out.print(v [i][j] + " ");
            System.out.println("");
        }
    }
}

どのように私は、第二の方法では、配列「V」を渡すことができますか?

Dnlst:

第1の方法は第二の方法を呼び出す場合は、ちょうどそれをパラメータとして渡します。

public void doStuff(){
    int[] arr;//initialize
    useArray(arr);
}
public void useArray(int[] arr){
     //use it
}

両方の方法が次々ececutedしている場合は、それを返し、それを変数に保存し、それを渡します。

public void outerMethod(){
    int[] arr=createArray();
    useArray(arr);
}
public int[] createArray(){
    int[] arr;
    //initialize it
    return arr;
}
public void useArray(int[] arr){
    //use arr
}

あなたのケースでは、これは次のようになります。

public class test {

    public static void main(String[] args) {
        int[] v=first();
        second(v);
    }
    public static int[][] first () {
        int N= (int)(Math.random()*5)+1;
        int M= (int)(Math.random()*5)+1;
        int v [][] = new int [N][M];
        for(int i=0; i < v.length; i++) {
            for(int j=0; j < v[0].length; j++) {
                v [i][j]= (int)(Math.random()*5);
            }
        }
        return v;
    }
    public static void second (int[][] v) {
        for(int i=0; i < v.length; i++) { 
            for(int j=0; j < v[0].length; j++)
                System.out.print(v [i][j] + " ");
            System.out.println("");
        }
    }
}

[ 注意事項 ]

これは、整数配列だけでなく、他の配列では動作しません。

実際には、これはどのようなタイプで動作します。

慣例により、クラス名はPascalCaseを書くべき変数(やメソッド)の名前は、キャメルケースを記述する必要があります。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=349391&siteId=1