gpt4 book ai didi

java - main 中的数组引用 main 之外的数组

转载 作者:行者123 更新时间:2023-12-01 14:41:37 25 4
gpt4 key购买 nike

我试图在我的 main 中创建一个数组,方法是使其与在 main 之外的方法中创建的数组相同。我想不出有什么办法可以做到这一点......

这是我的代码:

public class GRID {     
public void createGrid() {
int N = StdIn.readInt();
int thisarray[][] = new int[N][N];
for (int x = 0; x < N; x++) {
for (int y = 0; y < N; y++) {
int n = (int) (Math.random() * 6 + 1);
thisarray[x][y] = n;
}
}

}
public static void main(String []args){
GRID g = new GRID();
int [][] newArray = //thisarray
}
}

最佳答案

您在寻找这个答案吗?我已将方法的返回类型更改为 int[][]在 main 方法中我们可以调用 createGrid获取方法 int[][]

public class GRID {     
public int[][] createGrid() {
int N = StdIn.readInt();
int thisarray[][] = new int[N][N];
for (int x = 0; x < N; x++) {
for (int y = 0; y < N; y++) {
int n = (int) (Math.random() * 6 + 1);
thisarray[x][y] = n;
}
}
return thisarray;

}
public static void main(String []args){
GRID g = new GRID();
int [][] newArray = g.createGrid();
}
}

如果你想要newArray基于N然后发送NcreateGrid方法。为此,您必须在 createGrid 中添加一个参数方法如下所示。删除StdIn.readInt()来自createGrid方法

public class GRID {     
public int[][] createGrid(int N) {
int thisarray[][] = new int[N][N];
for (int x = 0; x < N; x++) {
for (int y = 0; y < N; y++) {
int n = (int) (Math.random() * 6 + 1);
thisarray[x][y] = n;
}
}
return thisarray;

}
public static void main(String []args){
GRID g = new GRID();
int [][] newArray = g.createGrid(StdIn.readInt()); //new array everytime on the basis of input value.
}
}

关于java - main 中的数组引用 main 之外的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15898726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com