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を書くべき変数(やメソッド)の名前は、キャメルケースを記述する必要があります。