TommyDordo :
내가 가진 프로그램을 만드는 오전 2 가지 방법 .
첫번째 방법 I은 생성 배열 하고, 두 번째 방법에서 I는해야 표시 해당 배열 테이블 등 .
내 질문은 그래서, 어떻게 첫 번째 방법으로 배열을 생성하고이를 표시하기위한 두 번째 방법에 전달합니까?
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("");
}
}
}
방법 I는 두 번째 방법의 배열 "V"를 전달할 수 있는가?
Dnlst :
첫 번째 방법은 두 번째 방법을 호출하는 경우, 단지 매개 변수로 전달합니다
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를 작성해야하며, 변수 (및 방법) 이름은 낙타 표기법을 작성해야합니다.